c语言入门编程题目(c语言入门编程100题)

http://www.itjxue.com  2023-03-19 17:54  来源:未知  点击次数: 

C语言新手编程题

给你看看我的程序

#includebits/stdc++.h

bool panduan(char a[1000])

{

char z[1000];

int x=0;

for(int i=0;istrlen(a);i++) if(a[i]!='('a[i]!=')'a[i]!='['a[i]!=']')

return false;

for(int i=0;istrlen(a);i++)

{

if(a[i]=='('||a[i]=='[')

{

x++;

z[x]=a[i];

}

if(a[i]==')')

{

if(z[x]=='(') x--;

else

return false;

}

if(a[i]==']')

{

if(z[x]=='[') x--;

else

return false;

}

}

if(!x) return true;

return false;

}

int main()

{

char a[1000];

while(scanf("%s",a))

if(panduan(a)) printf("OK\n");

else printf("Wrong\n");

return 0;

}

C语言入门题

首先说明一下,这道题目的答案却是是 3。

我在编译器运行了一下你的代码:

接下来分析一下这个题目的流程:

1、在if(x y)这个判断条件中,x==1, y==-1,条件是不成立的,所以走else分支。

2、在else分支中,z==2,现在 z+=1之后, z==3。

3、在最后一步printf中打印最终结果z == 3。

如果以上回答对你有帮助,请采纳下,谢谢。

c语言编程题目求解

题目1:

使用if多分支结构:

c

#includestdio.h

int main()

{

int score;

printf("请输入学生的成绩:\n");

scanf("%d", score);

if(score=90 score=99){

printf("学生的成绩等级为A\n");

}else if(score=80 score=89){

printf("学生的成绩等级为B\n");

}else if(score=70 score=79){

printf("学生的成绩等级为C\n");

}else if(score=60 score=69){

printf("学生的成绩等级为D\n");

}else if(score=0 score=59){

printf("学生的成绩等级为E\n");

}else{

printf("输入的成绩不合法\n");

}

return 0;

}

使用switch多分支结构:

c

#includestdio.h

int main()

{

int score;

printf("请输入学生的成绩:\n");

scanf("%d", score);

switch(score/10){

case 10:

case 9:

printf("学生的成绩等级为A\n");

break;

case 8:

printf("学生的成绩等级为B\n");

break;

case 7:

printf("学生的成绩等级为C\n");

break;

case 6:

printf("学生的成绩等级为D\n");

break;

default:

if(score=0 score=59){

printf("学生的成绩等级为E\n");

}else{

printf("输入的成绩不合法\n");

}

break;

}

return 0;

}

题目2:

c

#includestdio.h

#includemath.h

int is_prime(int num)

{

int i;

for(i=2; i=sqrt(num); i++){

if(num%i == 0){

return 0;

}

}

return 1;

}

int main()

{

int num;

printf("请输入一个整数:\n");

scanf("%d", num);

if(is_prime(num)){

printf("%d是素数\n", num);

}else{

printf("%d不是素数\n", num);

}

return 0;

}

题目3:

c

#includestdio.h

#define N 5

int main()

{

int arr[N];

int i, temp;

printf("请输入%d个数:\n", N);

for(i=0; iN; i++){

scanf("%d", arr[i]);

}

for(i=0; iN/2; i++){

temp = arr[i];

arr[i] = arr[N-1-i];

arr[N-1-i] = temp;

}

printf("逆序输出数组:");

for(i=0; iN; i++){

printf("%d ", arr[i]);

}

printf("\n");

return 0;

}

求解一道C语言基础编程题。。

intbase(intk,chars[])//按定义,k是进制(2~16),s是输入的字符串

{

int len=0,sum=0; //len 指s字符串长度,sum指转换后的k进制数

int i,j,t,n;

while (s[len]!='\0') len++; //计算s数组长度,也就查看用户从键盘输入了多少字符

i=len-1; //从最高位开始,也就是从最右侧开始计算,比如s=1234ab,先从b开始计算

while (s[i]!='\0') //逐个读取字符串s,第i位的具体字符值,s[i]是否有效

{

n=0; //s[i]是字符(char),s[i]转换成10进制对应的值

if (s[i]='0's[i]='9') //查ascii码表

n=s[i]-48; //48即字符 '0'

else if (s[i]='A's[i]='F') //A--F用来代表10进制下的10~15

n=10+s[i]-'A'; //s[i]是字符(char),s[i]转换成10进制对应的值

t=1;

for (j=0; jlen-i-1; j++) t=t*k;

/* //以上语句等于如下形式,s[i]对应的倍率,假设k=10,就好理解

t=1; //个位,即i=len-1时

t=1*k; //十位 即i=len-2时

t=1*k*k; //百位

t=1*k*k*k; //千位

.....

*/

sum += n*t; //合计,个+十+百+千+...

i--;

}

return (sum);

}

main()

{

int sz;

char str[20];

scanf("%d %s",sz,str);

if (sz2||sz16)

printf("输入错误。\n");

else

printf("%d\n",base(sz,str));

}

(责任编辑:IT教学网)

更多

推荐安全技术文章