页数:7页文件大小:30.8 KB来源: C语言程序设计ppt课件
本课件布置第三次上机作业,要求用起泡法与选择法对十个整数递减排序,统计十名学生的各科成绩与平均分,统计三行文本中的大写辅音字母个数,不使用strcat连接两个字符串,并计算矩阵除副对角线、最后一行与最后一列以外元素之和,随后给出完整参考答案代码。
第三次上机作业(2014)要求:独立完成,上机调试通过后上交;以附件形式压缩打包提交;程序必须采用缩进格式。
思考题:十六进制转换十进制:输入一个字符串(长度不超过 80),滤去所有的非十六进制字符后组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。例:输入 Ha4-1 输出 2625。
#include <stdio.h> #define N 10 void main() { int a[N], i, j, t; printf("Input N numbers:\n"); for (i = 0; i < N; i++) scanf("%d", &a[i]); for (j = 1; j <= N-1; j++) for (i = 0; i <= N-j-1; i++) if (a[i] > a[i+1]) { t = a[i]; a[i] = a[i+1]; a[i+1] = t; } printf("The sorted numbers:\n"); for (i = 0; i < N; i++) printf("%d ", a[i]); } for (i = 0; i < N-1; i++) { k = i; for (j = i+1; j < N; j++) if (a[j] < a[k]) k = j; if (i != k) { x = a[i]; a[i] = a[k]; a[k] = x; } }#include <stdio.h> #define N 30 #define M 3 void main() { int count, i, j; int s[N][M+4]; for (i = 0; i < N; i++) { printf("Input number:"); scanf("%d", &s[i][0]); printf("Input MT EN PH:"); for (j = 1; j <= M; j++) scanf("%d", &s[i][j]); } for (i = 0; i < N; i++) { s[i][M+1] = 0; count = 0; for (j = 1; j <= M; j++) { s[i][M+1] += s[i][j]; if (s[i][j] >= 90) count++; } s[i][M+2] = s[i][M+1] / M; if (count >= M) s[i][M+3] = 'Y'; else s[i][M+3] = 'N'; } }#include <stdio.h> #define MAXLEN 80 #define N 3 void main() { int count, i, j; char str[N][MAXLEN]; for (i = 0, count = 0; i < N; i++) { gets(str[i]); for (j = 0; str[i][j] != '\0'; j++) if (str[i][j] >= 'A' && str[i][j] <= 'Z' && str[i][j] != 'A' && str[i][j] != 'E' && str[i][j] != 'I' && str[i][j] != 'O' && str[i][j] != 'U') count++; } printf("%d\n", count); }gets(str1); puts("Input the second string:"); gets(str2); for (i = 0; str1[i] != '\0'; i++) ; for (j = 0; str2[j] != '\0'; ) str1[i++] = str2[j++]; str1[i] = '\0'; puts("The connected string is:"); puts(str1);输入 Welcome to 与 China,输出 Welcome to China。
5. 矩阵运算:读入 n 阶方阵(1≤n≤6),计算除副对角线、最后一列和最后一行以外的所有元素之和。输入 4 阶方阵 1 4 3 2 / 1 1 6 5 / 1 8 1 7 / 1 1 1 1,输出 sum=35。
#include <stdio.h> #define N 6 void main() { int a[N][N], i, j, n, sum; scanf("%d", &n); for (i = 0; i < n; i++) for (j = 0; j < n; j++) scanf("%d", &a[i][j]); sum = 0; for (i = 0; i < n; i++) for (j = 0; j < n; j++) if (i == n-1 || j == n-1 || i+j == n-1) continue; else sum += a[i][j]; printf("sum=%d\n", sum); }#include <stdio.h> #define MAXLEN 80 void main() { int i, k; long number; char str[MAXLEN], num[MAXLEN]; gets(str); for (k = 0, i = 0; str[i] != '\0'; i++) if (str[i] >= '0' && str[i] <= '9' || str[i] >= 'A' && str[i] <= 'F' || str[i] >= 'a' && str[i] <= 'f') num[k++] = str[i]; num[k] = '\0'; for (number = 0, i = 0; num[i] != '\0'; i++) { if (num[i] >= 'A' && num[i] <= 'F') k = num[i] - 'A' + 10; else if (num[i] >= 'a' && num[i] <= 'f') k = num[i] - 'a' + 10; else if (num[i] >= '0' && num[i] <= '9') k = num[i] - '0'; number = number * 16 + k; } printf("%ld\n", number); }下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}