当前位置:首页 » 编程语言 » c语言基础编程试题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言基础编程试题

发布时间: 2022-07-26 04:32:06

1. 求解一道c语言基础编程题。

#include <stdio.h>

#define N 60 //宏定义便于替换和检测

void Scanf(float *a,int n) //输入函数

{ scanf("%f",&a[n]);}

void sort(float *a,int n) //排序函数{ int i,j; float t; for(i=0;i<n-1;i++) //选择排序法 { for(j=i+1;j<n;j++) { if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } }}void Printf(float *a,int n) //输出函数{ printf("%d# %.2fm ",n+1,a[n]);//输出格式}int main (void){ float a[N]; int i; for(i=0;i<N;i++) Scanf(a,i); sort(a,N); for(i=0;i<N;i++) Printf(a,i);}

望采纳

2. c语言程序设计的基础题目求教,请给解析(多追积分)

1:已知a=13,b=6,a%b的十进制数值为()
a%b,整数%整数,表示求余数,因此13%6=1
2:设x的值为15,n的值为了2,则表达式x%=(n+3)运算后的x的值是()
x%=(n+3)相当于x=x%(n+3),x%=n+3也表示x=x%(n+3),类似的有+=,-=,*=,/=
因此x=x%(n+3),x=15%5,x=0.
3:int
x=y=4,z=2;x=y==z;则x的值为()
x=y=4,等号是右结合的,也就是这种情况下要从右向左计算,因此相当于y=4;x=y;
而x=y==z,==的优先级比=高,因此相当于x=(y==z),y=4,z=2所以y==z不成立,所以y==z这个表达式的值是false,也就是0,所以x=0
4:若有定义:int
a=10,b=9,c=8;接着顺序执行后下列语句是,变量b中的值是()
c=(a-=(b-5));
c=(a%11)+(b=3);
由上面的几题为基础,
c=(a-=(b-5))相当于c=(a=a-(b-5)),c=(a=10-(9-5)),c=(a=6),所以a=6,c=6,b=9(表达式b-5并没有改变b的值)
c=(a%11)+(b=3)相当于,c=6%11+3=6+3=9,所以a=6,c=9,b=3
5:int
x=2,y=2,z=0;则表达式的x==y>z的值为()
x==y>z这个一个复合逻辑表达式,>优先级高于==,所以相当于x==(y>z),y>z成立,所以y>z==1,x==1不成立,所以表达式的值为0
6:若有以下定义和语句int
a[4]={0,1,2,3},*p;
p=&a[2];则*--p的值是()
p=&a[2];表示p是a[2]的地址
*--p相当于*(--p),就是先将p减1,也就是a[1]的地址,然后用*操作符取出地址中的值,也就是1

3. C语言入门编程题,题目如图所示。给点思路方法

  1. 可以确定的5个变量:3个系数 a,b,c, 2个根 x1, x2,都是double类型

  2. 输入a,b,c

  3. a=0的情况 (b=0,无解, b!=0, x1 = -c/b)

  4. 计算delta = b*b - 4ac

  5. if delta >0

    x1 = ..., x2 = ... ;

  6. else if delta == 0

    x1 = x2 = -b/(2a)

  7. else 无实数解。

  8. 各种情况下的输出。

4. 求道C语言基础编程题

//第一题:
#include<stdio.h>
main()
{
int
a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
//输入三个数a,b,c
if(a<b)
{
t=a;a=b;b=t;
}
if(a<c)
{
t=a;a=c;c=t;
}
if(b<c)
{
t=b;b=c;c=t;
}
printf("%d>%d>%d\n",a,b,c);
}
//第二题:
#include<stdio.h>
#include<math.h>
void
main()
{
float
a,b,c,s,k;
printf("请输入三边的值:");
scanf("%f%f%f",&a,&b,&c);
k=(a+b+c)/2.0;
s=sqrt(k*(k-a)*(k-b)*(k-c));
printf("面积为:%.3f\n",s);
}
这两个题目很简单啊!
不知道是否合你要求??
呵呵,给我分吧!

5. 求解C语言基础编程题

#include <stdio.h>

int main()

{ int i,j,x,a[11]= {0};

char c='n';


do

{ scanf("%d%c",&x,&c);

a[x]++;

}

while(c!=' ');

for(i=1; i<11; i++)

{ printf("%d %d ",i,a[i]);

for(j=0; j<a[i]; j++)

printf("*");

printf(" ");

}

return 0;

}

6. C语言基础编程题

连续输入数字,输0或-1结束输入。计算所有输入的奇数和。

#include <stdio.h>

int main()

{

int n,sum=0;

while(scanf("%d",&n) && n>0)

if(n%2!=0)

sum+=n;

printf("奇数和:%d ",sum);

return 0;

}

7. 有关C语言的基本编程考题

则他会忘掉见过的事物。
只有燃烧的泪水留在眼中。
让他跪下,把脸俯向草地,
看着从地面反射出的光线。
那里他将常常找到我们失去的一切:
星星和玫瑰,黄昏和黎明。

8. 基础C语言编程题

2.status IsPrime(int num) { int i; for(i=2;i<num;i++) { if(!num%i) return TRUE; } return FALSE; } 3.int gcd(int a,int b) { int i,num; for(i=1;i<=a;i++) { if(a%i) continue; if(!b%i) num=i; } return num; } 第一题第四题不会……不好意思

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

举个例子你就懂了,以16进制的2ABC为例,16进制转为10进制的方法,就是从右到左,依次用该位的数字乘以16的0次方、16的1次方、16的2次方(同样如果是其它进制,比如8进制,那就是8的0次方、1次方等等)。。之和,比如说2ABC转10进制,就等于
2ABC(16)=C*1+B*16+A*16*16+2*16*16*16
你上面这个代码就是模拟这个过程,从最后一位起,先将字符转为实际对应的数字,比如说输入的是2A,那么'A'对应的数字就是10+'A'-'A'=11,同样的'2'对应的数字就是'2'-'0'=2(或者'2'-48=2,48即'0'的ascii)得到的数字放在n里,然后用t来计算每一次该乘以多少(比如最后一位,t就是1,倒数第二位,t就是16,倒数第三位,t就是16*16),之后再通过sum+=n*t累加。

while (s[len]!='\0') len++; //通过循环获取长度,实际上在string.h里有strlen可以直接获取

i=len-1;

while (s[i]!='\0') { //循环开始

n=0;

if (s[i]>='0'&&s[i]<='9') //if else计算每一位实际对应的10进制数字

n=s[i]-48;

else if (s[i]>='A'&&s[i]<='F')

n=10+s[i]-'A';

t=1;

for (j=0; j<len-i-1; j++) t=t*k; //计算当前位应该乘以多少,比如i起始是len-1,那么j=0;j<len-i-1实际上就是j<0;没有循环,t为1,下一次循环i是len-2,j<len-(len-2)-1即为j<1,循环一次,t=1*16=16,同样,再下一次就是16*16

printf("****%d\n",t);

sum += n*t;//累加

i--;

}

不过这样写确实有些繁琐,也没啥必要,可以是

int base(int k,char s[])
{
int len=0,sum=0;
int i,n;
while (s[len]!='\0') len++;
for(i=0;i<len;i++)
{
if (s[i]>='0'&&s[i]<='9')
n=s[i]-48;
else if (s[i]>='A'&&s[i]<='F')
n=10+s[i]-'A';
sum=sum*k+n;
}
return sum;
}

10. c语言基础编程题求解

#include <stdio.h>

#include <malloc.h>

#define stu struct student

stu

{ char name[20];

int age;

int wage;

stu *next;

};

stu *creat( void )

{ stu *p,*q,*h;

int i;

for(i=0; i<3; i++)

{ p=(stu*)malloc(sizeof(stu));

scanf("%s%d%d",p->name,&(p->age),&(p->wage));

if(i==0)h=q=p;

else q->next=p,q=p;

}

q->next=NULL;

return h;

}

void output( stu *p )

{ while ( p != NULL )

{ printf( "%s: ", p->name );

printf( "age=%d wage=%d ", p->age, p->wage );

p = p->next;

}

}

int main()

{ stu *p;

p = creat( );

output( p );

}