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

c语言基本编程题

发布时间: 2022-06-19 18:00:16

A. 求解一道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);}

望采纳

B. 求道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);
}
这两个题目很简单啊!
不知道是否合你要求??
呵呵,给我分吧!

C. 求解一道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;
}

D. C语言编程题,拜托大家

(已补充排序功能!基本冒泡排序!)

通过Ascii码来识别按键。

输入采用getch函数获取字符再转数字。

由于getch不在控制台显示,自定义函数实现回显。

代码实现了录入,删除功能。

录入只识别数字,其他字符按了也没用。

退格键一次删一个字符,可以跨行删除。

回车确认一个数字的输入,下次输入新数字自动换行(回车后光标不换行,另外删除当前行可以反退到上一行)。

Ctrl+D结束程序。

注意:getch函数在windows系统下正常。linux系统下不一定能运行。

另外,我没有写数值大小验证,数组变量是int型,如果你输入超出数值类型上限还是会报错的,想要输入更大的数字,可以换longlong性。想加验证,自己在代码里加好了,可以加在输入接收的位置。

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#define MAXS 100//数组大小

void showList(int *nums,int n,int flag);//打印数组

int inputNums(int *nums,int maxSize);//输入maxSize个以内的数字保存在maxSize中,返回输入的数字个数

void px(int *nums,int n);//升序排列

int main()

{

int nums[MAXS],n=MAXS,cnt;

cnt=inputNums(nums,n);

px(nums,cnt);

printf(" 升序排序后的数字为: ");

showList(nums,cnt,1);

return 0;

}

int inputNums(int *nums,int maxSize)//输入maxSize个以内的数字保存在maxSize中,返回输入的数字个数

{

int i=1,cnt=0,n=MAXS,flag=0;//flag:待保存标识;1:标识有数据待保存2:无数据待保存

char c=0;

while(i<=n)

{

c=getch();

if(c!=13 && c!=4 && c>='0' && c<='9')//输入只接收并回显数字字符

{

if(!flag)

nums[cnt]=0,cnt++,flag=1;

nums[cnt-1]=nums[cnt-1]*10+c-'0';

}

if(c==8 && cnt>0)//退格删除

{

if(nums[cnt-1]/10>0)//当前输入数字大于1位,则删除一位输入

nums[cnt-1]=nums[cnt-1]/10;

else if(nums[i-1]/10==0)//当前输入数字只剩下1位,则删除当前输入的数值,数组个数-1

{

nums[cnt-1]=0,cnt--;

if(cnt==0)

flag=0;

else

i--,flag=1;

}

}

if(c==13)//回车

i++,flag=0;

if((c>='0' && c<='9')||c==13||c==8)

system("cls"),showList(nums,cnt,0);

if(c==4)//ctrl+D

{

if(flag)

flag=0;

break;

}

}

printf(" 输入的数字为: ");

showList(nums,cnt,1);

return cnt;

}

void px(int *nums,int n)//升序排列

{

int i,j,num;

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

for(j=i+1;j<n;j++)

{

if(nums[i]>nums[j])

{

num=nums[i];

nums[i]=nums[j];

nums[j]=num;

}

}

}

void showList(int *nums,int n,int flag)//打印数组,flag:1打印模式;flag:0显示模式

{

int i;

if(flag && n>0)

{

printf(" ");

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

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

printf(" ");

}

else if(!flag && n>0)

{

for(i=0;i<n-1;i++)

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

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

}

}

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

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

F. c语言编程题

#include <stdio.h>

#include <math.h>

int main()

{

double x,y;

scanf("%lf",&x);

if(x<=-2)

y=-pow(exp(1),2*x+1)+3;

else if(x<=3)

y=2*x-1;

else

y=2*log10(3*x+5)-11;

printf("%lf ",y);

return 0;

}

G. 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 );

}

H. 求解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;

}

I. C语言基础编程题一小题,谢谢!

#include<stdio.h>
int main() {
int n,s=0;
scanf("%d",&n);
s=(n%10)*100+(n/10%10)*10+n/100;
printf("%d",s);
}

J. c语言编程题

voidfun1(chars[]){
while(*s){
if(*s>='a'&&*s<='z'){*s-='a';*s+='A';}
elseif(*s>='A'&&*s<='Z'){*s-='A';*s+='a';}
s++;
}
}
voidfun2(chars[]){char*p,a;
p=s;while(*p)p++;
p--;a=*s;*s=*p;*p=a;
}
voidfun3(chars[],intc[3]){
c[0]=c[1]=c[2]=0;
while(*s){
if(*s>='0'&&*s<='9')c[0]++;
elseif(*s>='a'&&*s<='z')c[1]++;
elseif(*s>='A'&&*s<='Z')c[1]++;
elseif(*s=='')c[2]++;
s++;
}
}
printf("字母个数=%d 空格个数=%d ",count[1],count[2]);