作业九
1.输入一个正整数n (1<n≤6),根据下式生成1个n*n的方阵,然后将该方阵转置(行列互换)后输出。
#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("%3d",a[i][j]); printf("\n"); } 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\n",i,j,a[i][j]); } printf("\n"); } return 0; }
3.查找指定字符。输入一个字符,再输入一个以回车符结束的字符串(少于80个字符),在字符串中查找该字符。如果找到,则输出该字符在字符串中所对应的最大下标,下标从0开始;否则输出"Not found"
#include<stdio.h> int main() { int i,k,x; char str[80],n; printf("Enter a character:"); scanf("%c",&n); printf("Enter a string:"); i=0; getchar(); while((str[i]=getchar())!='\n') i++; str[i]='\0'; k=0; x=0; for(i=0;str[i]!='\0';i++){ if(str[i]==n) x=i; k=1; } if(k==-1) printf("not found!\n"); else printf("index=%d\n",k); return 0; }
4.字符串逆序。输入一个以回车符结束的字符串(少于80个字符),将该字符串逆序存放,输出逆序后的字符串。
#include<stdio.h> int main() { int i,j,temp,n; char str [80]; printf("Enter a string:"); i=0; while((str[i]=getchar())!='\n') i++; str[i]='\0'; j=i-1; for(i=0;i<j;i++){ temp=str[i]; str[i]=str[j]; str[j]=temp; j--; } for(i=0;str[i]!='\0';i++) putchar(str[i]); return 0; }