两道程序题

    xiaoxiao2021-12-14  23

    1.编写一个函数,字符串逆序:

    #include<stdio.h> #include<string.h> #include <stdlib.h> void reverse(char *str,int len) { int i; char temp[100]; for(i = 0;i < len;i++) { temp[i] = str[i]; } temp[len] = '\0'; for(i = 0;i<len;i++) { str[i] = temp[len - i -1]; } printf("%s",str); } int main() { char src[]="nihao"; int len1; len1 = strlen(src); reverse(src,len1); return 0; }2.编写一个程序,输出类似蛇形代码:

    1    2   3   4  5 

    16 17 18 19 6

    15 24 25 20 7 14 23 22 21 8

    13 12 11 10 9

    #include<stdio.h> #include<string.h> #include <stdlib.h> #define n 5 int main() { int a[n + 1][n + 1] = {0}; int i,j; int count = 1; a[0][0] = 1; i = 0; j = 0; while(count < (n * n)) { while(i + 1 < n && a[j][i + 1] == 0) { a[j][++i] = ++count; } while(j + 1 < n && a[j + 1][i] == 0) { a[++j][i] = ++count; } while(i - 1 >= 0 && a[j][i - 1] == 0) { a[j][--i] = ++count; } while(j - 1 >= 0 && a[j - 1][i] == 0) { a[--j][i] = ++count; } } for(j = 0;j < n;j++) { for(i = 0;i < n; i++) { printf("%d ",a[j][i]); } printf("\n"); } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-972056.html

    最新回复(0)