1.输入一个正整数n (1<n≤6),根据下式生成1个n*n的方阵,然后将该方阵转置(行列互换)后输出。
a[i][j] = i * n + j + 1(0≤i≤n-1,0≤j≤n-1)
#include<stdio.h> int main() { int i,j,n,temp; int a[6][6]; printf("Enter n:"); scanf("%d",&n); for(i=0;i<n;i++) for(j=0;j<n;j++) a[i][j]=i*n+j+1; for(i=0;i<n;i++) for(j=0;j<n;j++) if(i<=j){ temp=a[i][j]; a[i][j]=a[j][i]; a[j][i]=temp; } for(i=0;i<n;i++){ for(j=0;j<n;j++) printf("%4d",a[i][j]); printf(" "); } return 0; }
2.编写程序,输出一张九九乘法口决表。提示:将乘数、被乘数和乘积放入一个二维数组中,再输出该数组。
#include<stdio.h> int main() { int i,j; int a[10][10]; for(i=1;i<10;i++){ for(j=1;j<10;j++){ a[i][j]=i*j; printf("%d*%d=%d ",i,j,a[i][j]); } printf(" "); } return 0; }
3.查找指定字符。输入一个字符,再输入一个以回车符结束的字符串(少于80个字符),在字符串中查找该字符。如果找到,则输出该字符在字符串中所对应的最大下标,下标从0开始;否则输出"Not found"。试编写相应程序。
#include<stdio.h> int main() { char a[80],b; int i; int k; printf("Input chars:"); for(i=0;(a[i]=getchar())!=' ';i++); a[i]='