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語言入門編程題,題目如圖所示。給點思路方法
可以確定的5個變數:3個系數 a,b,c, 2個根 x1, x2,都是double類型
輸入a,b,c
a=0的情況 (b=0,無解, b!=0, x1 = -c/b)
計算delta = b*b - 4ac
if delta >0
x1 = ..., x2 = ... ;
else if delta == 0
x1 = x2 = -b/(2a)
else 無實數解。
各種情況下的輸出。
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 );
}