當前位置:首頁 » 編程語言 » 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]);