求哪位高手帮帮忙 c语言题目

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
C语言题目~~~ 哪位能帮帮忙啊

char *match(char *s, char c)
{
char *p = s;
while(*p)
{
if(*p==c) return p;
p++;
}
return NULL;
}

#include
#define N 100
int main()
{
int n,num[N][N];
printf("输入矩阵大小:
");
scanf("%d",n);
printf("输入矩阵数据:
");
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%d",num[i][j]);}
}
//求对角线元素和
int sum=0;
for(int k=0;k<n;k++){
sum+=num[k][k];
}
//求最大最小元素
int max,min;
max=min=num[0][0];
for(int m=0;m<n;m++){
for(int t=0;t<n;t++){
if(num[m][t]>max)max=num[m][t];
if(num[m][t]<min)min=num[m][t];}
}
//矩阵转置
int temp;
for(int a=0;a<n;a++){
for(int b=0;b<a;b++){
temp=num[a][b];
num[a][b]=num[b][a];
num[b][a]=temp;

}
}
return 0;
}
我全写到主函数里面了 那三个功能你可以写三个子函数

一共有9行,分两个阶段输出:
1.第一行--第五行;
2.第六行--第九行。
首先分析第一个阶段:
行数i 空格个数j 数字个数k
1 4 1
2 3 3
3 2 5
4 1 7
5 0 9
有两个线性关系:空格个数与行数i:j=5-i;
数字个数与行数i:k=2i-1;
第二阶段同理。
还要注意的是程序报错问题:如果用户输入10则要求重新输入,具体实现为:
while(1)
{ printf("Please input the number:\n");
scanf("%d",&n);
if(n>0&&n<10)
break;
else
printf("Data Error!Please input number again!\n");
凡是以后出现这样有条件的输入,一般都用此方法(while(1))。
整个程序为:(这里只输出上部分,下半部分自己写吧,加油了!)
#include<stdio.h>
void main()
{ int i,j,k,n;
while(1)
{ printf("Please input the number:\n");
scanf("%d",&n);
if(n>0&&n<10)
break;
else
printf("Data Error!Please input the number again!\n");
}
n=n-4;
for(i=1;i<=5;i++)
{ for(j=1;j<=5-i;j++)
putchar('');
for(k=1;k<=2*i-1;k++)
printf("%d",n);
n++;
putchar('\n');
}
}

#include <stdio.h>
int main(void)
{ int n,i,u,f;
do
{ printf("n=");
scanf("%d",&n);
if(n<1||n>9) printf("Data error\n");
} while(n<1||n>9);
for(i=1,f=1;f>-2;f-=2,i-=2)
for(;i<=n&&i>0;i+=f)
{ for(u=0;u<n-i;u++) printf(" ");
for(u=0;u<i*2-1;u++) printf("%d",i);
printf("\n");
}
getch();
}