首页 > 代码库 > 作业九

作业九

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;
} 

 

作业九