C语言的编程问题,求高手解答。6月19号之前要用啊。我把财富值全部送给你。急急急。!!!

1.编写程序,由键盘输入10个整数;
(1)按从大到小的顺序重新排序后输出。
(2)输出10个整数的平均数。

2.设计两个矩阵A,B,实现矩阵相加运算,结果放入C,输出矩阵A、B、C。
3.输入用户登陆密码(你名字拼音首字母组成的字符串),重复输入进行确认。如两次输入的内容相同,则自己设计输出一组图形(如:扬辉三角、九九乘法表等),如两次输入的内容不同,则输出不能登录等信息

#include<stdio.h>
#include<string.h>

void main()
{
int i,j,a[10],b[10],c[10],temp;
int sum=0;
char s1[10],s2[10];
int d[10][10];
printf("请输入十个整数:");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)//冒泡法:注意这一行和下一行
for(j=0;j<=9-i-1;j++)
{
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
for(i=0;i<=9;i++)
printf("%4d",a[i]);//输出从大到小的数组
printf("\n");
for(i=0;i<=9;i++)
{
sum+=a[i];
}
printf("%s%d","平均数为:",sum/10);//输出平均数。。。
printf("\n");
printf("请再输入十个整数:\n");
for(i=0;i<=9;i++)
scanf("%4d",&b[i]);
for(i=0;i<=9;i++)
{
c[i]=a[i]+b[i];
}//注意:这两个数组相加是冒泡后的数组和刚才输入的数组相加
printf("数组c为:\n");
for(i=0;i<=9;i++)
printf("%4d",c[i]);
printf("\n");
getchar();
printf("请输入用户登陆密码(你名字拼音首字母):");
gets(s1);
printf("请再输入用户登陆密码(你名字拼音首字母):");
gets(s2);
if(strcmp(s1,s2)==0)//如果两个输入的字符串相同
{
for(i=0;i<10;i++)//杨辉三角。。。
{
d[i][0]=1;
for(j=1;j<10;j++)
if(i==j)
d[i][j]=1;
else
d[i][j]=d[i-1][j-1]+d[i-1][j]; /*它的值等于左上角+正上方元素的和*/
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
printf("%4d",d[i][j]);
printf("\n");
}
/*九九乘法表。。。
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
{
temp=i*j;
printf("%4d",temp);
}
printf("\n");
}
*/
}
else//如果输入的两个字符串不相同。。。
printf("密码错误!\n");
}
刚刚学c语言,有问题可以探讨 啊。。。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-08
#include<stdio.h>
#define N 10
void sort(int a[],int m);
void juz(int a[5][5],int b[5][5]);
void main()
{
int i,n[10],ave=0;
int A[5][5]={{1,2,3,4,5},{5,6,7,8,8},{11,45,6,3,9,},{55,67,90,43,22,},{8,4,14,47,86}};
int B[5][5]={{1,2,23,47,5},{5,66,7,83,8},{11,45,6,31,9,},{1,67,90,43,88,},{81,43,14,47,86}};
int C[5][5];
printf("请输入是10个整数\n");
for(i=0;i<10;i++)
scanf("%d",&n[i]);
sort(n,N);
for(i=0;i<10;i++)
printf("%d ",n[i]);
printf("%d",ave);
juz(A,B);
}
void sort(int a[],int m)
{
int i,j,t;
for(i=0;i<m;i++)//冒泡排序
{ for(j=i+1;j<m;j++)
if(a[i]<a[j])
{ t=a[j];
a[j]=a[i];
a[i]=t;
}
ave+=a[i];
}
ave=ave/m;
}
void juz(int a[5][5],int b[5][5])
{
int i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
C[i][j]=a[i][j]+b[i][j];
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
printf("%d",C[i][j]);
printf("\n");
}
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
printf("%d",a[i][j]);
printf("\n");
}
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
printf("%d",b[i][j]);
printf("\n");
}
}
老兄第三个问题(3.输入用户登陆密码(你名字拼音首字母组成的字符串),重复输入进行确认。如两次输入的内容相同,则自己设计输出一组图形(如:扬辉三角、九九乘法表等),如两次输入的内容不同,则输出不能登录等信息)暂时不能解决,希望上述程序对你有用!
第2个回答  2011-06-09
1.
#include <stdio.h>
void main()
{
int a[10];
int i,j,t;
float avg=0;
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<10;j++)
for(i=0;i<10-1-j;i++)
if(a[i]<a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
for(i=0;i<10;i++)avg+=a[i];
avg=avg/10.0;
printf("\n平均值:%3.2f\n",avg);
}

2.
#include<stdio.h>
#define N 10
int a[N][N],b[N][N],c[N][N],n=4;

void main()
{
int i,j;
printf("请输入矩阵维数2-10:\n");
scanf("%d",&n);
printf("请输入矩阵A:\n");
for(i=0;i<n;i++)
{
printf("第%d行数据:\n",i+1);
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
printf("请输入矩阵B:\n");
for(i=0;i<n;i++)
{
printf("第%d行数据:\n",i+1);
for(j=0;j<n;j++)
scanf("%d",&b[i][j]);
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
c[i][j]=a[i][j]+b[i][j];

printf("矩阵A为:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%-4d",a[i][j]);
putchar('\n');
}
putchar('\n');
printf("矩阵B为:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%-4d",b[i][j]);
putchar('\n');
}
printf("矩阵C为:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%-4d",c[i][j]);
putchar('\n');
}
}

3.
#include <stdio.h>
#include <conio.h>
#include <string.h>
void table99()//输出9*9口诀
{
int i,j,result;
for (i=1;i<10;i++)
{
for(j=1;j<10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result);//-3d表示左对齐,占3位
}
printf("\n");//每一行后换行
}
}

void main()
{
int i=0,j;
unsigned char str1[20],str2[20];
while(1)
{
printf("\n请输入用户登陆密码,按Enter键结束: ");
j=0;
while ((str1[j]=getch()) != '\r')
{
printf("%c", '*');
j++;
}
str1[j]='\0';
printf("\n请输入确认密码,按Enter键结束: ");
j=0;
while ((str2[j]=getch()) != '\r')
{
printf("%c", '*');
j++;
}
str2[j]='\0';
if(j>0 && strcmp(str1,str2)==0)
{
printf("\n登录成功!\n");
table99();
break;
}
else if(i<2) printf("\n输入有错误,不能登录,还有 %d 次机会\n",2-i);
i++;
if(i>=3)break;
}
}
相似回答
大家正在搜