以下是一些 C 语言的试题,每个试题都附带有答案。希望能够帮助到你。
1、编写一个程序,从命令行参数中读取两个整数,计算它们的和并输出结果。
答案:
#include <stdio.h>
int main(int argc, char *argv[]) {
if (argc != 3) {
printf("Usage: %s <int1> <int2>\n", argv[0]);
return 1;
}
int x = atoi(argv[1]);
int y = atoi(argv[2]);
printf("%d + %d = %d\n", x, y, x + y);
return 0;
}
2、编写一个函数,接受两个参数 a 和 b,返回它们的最大公约数。
答案:
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
3、编写一个程序,从标准输入中读取一个字符串,将其中的大写字母转换为小写字母,并输出转换后的字符串。
答案:
#include <stdio.h>
#include <ctype.h>
int main() {
char c;
while ((c = getchar()) != EOF) {
putchar(tolower(c));
}
return 0;
}
4、编写一个程序,从标准输入中读取一个字符串,判断其中是否有重复的字符,并输出结果。
答案:
#include <stdio.h>
#include <stdbool.h>
bool has_duplicate_chars(const char *str) {
bool seen[256] = { false };
while (*str != '\0') {
if (seen[(unsigned char) *str]) {
return true;
}
seen[(unsigned char) *str] = true;
str++;
}
return false;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (has_duplicate_chars(str)) {
printf("存在重复的字符。\n");
} else {
printf("不存在重复的字符。\n");
}
return 0;
}
5、编写一个程序,从标准输入中读取一个整数 n,输出斐波那契数列的前 n 项。
答案:
#include <stdio.h>
void print_fibonacci(int n) {
int a = 0, b = 1;
for (int i = 1; i <= n; i++) {
printf("%d ", a);
int c = a + b;
a = b;
b = c;
}
printf("\n");
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
print_fibonacci(n);
return 0;
}
谁能提供点C语言的试题给我,最好能有答案的,非常感谢!
1、编写一个程序,从命令行参数中读取两个整数,计算它们的和并输出结果。答案:include <stdio.h> int main(int argc, char *argv[]) {if (argc != 3) {printf("Usage: %s <int1> <int2>\\n", argv[0]);return 1;}int x = atoi(argv[1]);int y = atoi(argv[2]);printf("%...
谁能提供点C语言的试题给我,最好能有答案的,非常感谢!
10、下述程序段执行后输出结果是( )。int x=100, y=200;printf ("% d", (x, y));A、100 B、200 C、100,200 D、编译出错 二、填空题。(共10空,每空1分,共10分 )1、C语言提供的三种逻辑运算符是 && 、 || 和!;2、函数的返回值是通过函数中的 ...
C语言,为什么第三题答案是3?我觉得是12,请给过程
再取a[2]的值,也就是3了,最后左边的1 * 右边的3,等于3。
C语言程序设计,求答案。万分感谢!
第一题的:include<stdio.h> int main(){ char c;scanf("%c",&c);if('a'<=c&&c<='z')printf("%c\\n",char(c-32));else if('A'<=c&&c<='Z')printf("%c\\n",char(c+32));else printf("what you input is not a letter! ");return 0;} 第二题的:include<stdio.h> ...
c语言2道选择题求解!最好复解析,方便理解!~
每行2个数字,所以,A、B都不对。输出是i+j,所以每行第一个数字是从大到小,每行第二个数字比第一个数字大1.所以C是错的 2选B I=1,输出第一行,i=2是输出第二行 所以 c是错的 j是从i开始,所以第一行第一个应该是1*1 ...,第二行第一个应该是2*2,A、D都是错的 ...
C语言题目求解!!谢谢! 我的答案:1 (20)2 (-84)3 (11)4(8)5 (0 1 0...
很高兴能为你解答,即使我是大一的C程序菜鸟,,1(20)是对的 2(-84)是对的 3(6)P是字符型指针,执行p+=2;后,P指针由指向O的地址转向指向了y,即输出后只输出"ympics"字符串,为六个。4(3)先看y=(x=5)?表达式,将X赋值为5,x为非零值为真,y取(x-2): (x+2);语句中的...
你好~,我看到你有c语言程序设计(夏宽理)的答案~能给我发一份吗?万分...
你好~,我看到你有c语言程序设计(夏宽理)的答案~能给我发一份吗?万分感谢了~ 20 我来答 分享 微信扫一扫 网络繁忙请稍后重试 新浪微博 QQ空间 举报 浏览23 次 可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。 c语言程序设计 夏宽 搜索资料 本地图片 图片链接 ...
c语言 请看看如下试题,谢谢!
strlen是取字符长度的函数 sl[10]这个字符数组中有5个字符,所以取得的长度是5 s2中看似有六个字符,可以“\\\\"是一个转义字符,转义后就是”\\".所以它也只有五个字符。综上所述,答案选A
c语言试题求解
for(i=2;i<j;i++)if(!(j%i))break;if(!(j%i)意思是当j%i==0时,退出循环。意思是当j有因子i时,退出循环。这说明j不是素数。这时候i没循环到等于j,所以后面的 if(i>=j-1)不成立,不会输出j
C语言题目2小题,谢谢!最好有过程
6.D 由于运算符优先级可知原式等效于!( (a<b&&!c ) ||1),子表达式(a