1、按金字塔形状打印杨辉三角形。
#include <stdio.h>
int main() {
int count_line, i, j, data[100][100];
printf("请输入打印的行数:");
scanf("%d", &count_line);
for (i = 0; i < count_line ; i++) {
data[i][0] = 1;
for (j = 1; j <= i - 1; j++) {
data[i][j] = data[i-1][j] + data[i-1][j-1];
}
data[i][j] = 1;
}
for (i = 0; i < count_line ; i++) {
for (j = 0; j < count_line - i; j++) {
printf(" ");
}
for (j = 0; j <= i; j++) {
printf("%4d", data[i][j]);
}
putchar('\n');
}
return 0;
}
2、输入一个字符串形式的数字,将其转化为数值输出(如输入字符串“123”,输出数字123,仅考虑无符号整数的情况)。
#include <stdio.h>
#include <string.h>
int main() {
printf("请输入一个字符串:");
char string[1000];
gets(string);
int i, length, result = 0, pow = 1;
length = strlen(string);
for (i = length - 1; i >= 0; i--) {
result += pow * (string[i] - 48);
pow *= 10;
}
printf("结果为:%d\n", result);
return 0;
}
3、编程输入3个字符串,并输出其中最小的字符串。
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100], str3[100];
printf("请输入第一个字符串:");
gets(str1);
printf("请输入第二个字符串:");
gets(str2);
printf("请输入第三个字符串:");
gets(str3);
char *min = str1;
if (strcmp(str2, min) < 0) {
min = str2;
}
if (strcmp(str3, min) < 0) {
min = str3;
}
printf("最小的字符串为:%s\n", min);
return 0;
}
4、编写程序输入3个整数,利用指针对其按照从大到小排序并输出。
#include <stdio.h>
int main() {
printf("请依次输入三个整数:");
int num1, num2, num3;
scanf("%d", &num1);
scanf("%d", &num2);
scanf("%d", &num3);
int *first = &num1, *second = &num2, *third = &num3;
int *temp;
if (*second > *first) {
temp = second;
second = first;
first = temp;
}
if (*third > *first) {
temp = third;
third = first;
first = temp;
}
if (*third > *second) {
temp = third;
third = second;
second = temp;
}
printf("排序后的结果为:%d %d %d\n", *first, *second, *third);
return 0;
}