編程基礎題
//第一題:
#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);
}
這兩個題目很簡單啊!
不知道是否合你要求??
呵呵,給我分吧!
2. 求解一道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; j<len-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 (sz<2||sz>16)
printf("輸入錯誤。\n");
else
printf("%d\n",base(sz,str));
}
3. C語言編程基礎題
代碼文本:
#include "stdio.h"
int main(int argc,char *argv[]){
int i,j,k,t,n;
printf("Enter n(int 0<n<14)... ");
if(scanf("%d",&n)!=1 || n>13 || n<1){
printf("Input error, exit... ");
return 0;
}
for(k=i=1;i<=n;i++){
for(t=(n-i)*3,j=0;j<t;putchar(' '),j++);
if(i&1)
for(j=0;j<i;printf("%3d",k++),j++);
else
for(k+=i,j=1;j<=i;printf("%3d",k-j++));
putchar(' ');
}
return 0;
}
4. 編程基礎題
a=3
a+=a-=a*a
分解成 a-=(a*a)得a= a-(a*a)=3-9=-6
以及 a+=a得a=a+a=-12
x=3,y=3
++x||++y ,因為||為或運算,++x值為4即為真,所以整個表達式為真,短路求值後++y不執行,所以y的值依然是3。
5. c語言編程基礎題,初學者,求解答
這是一個冒泡法整理數組的程序,輸入10個數字,然後程序結果會讓這10個數字從小到大顯示
輸入部分,i=0,輸入a0;i=1,輸入a1;····i=9,輸入a9
整理部分,j=0,i=0,如果a0大於a1,互換位置;j=0,i=1,如果a1大於a2,互換位置;···j=8,i=0,如果a0大於a1,互換位置
輸出部分,a0到a9依次顯示
6. c語言編程基礎題
#include<stdio.h>
intmain(void)
{
inta,b;
for(a=1;a<=100/5;++a)
for(b=1;b<=100/3;++b)
if(a+b+3*(100-5*a-3*b)==100)
printf("%d%d%d ",a,b,3*(100-5*a-3*b));
return0;
}
7. 求解一道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);}
望採納
8. 基礎編程題
LZ想要的是這種答案吧。。。。
//-------------------------------第一題
#include <stdio.h>
#include "e:\myc\zylib\zylib.h"
STRING GetString(STRING prompt);
double GetReal(STRING prompt);
int main()
{
double bookprice;
STRING bookname;
bookname=GetString("請輸入字元串:");
bookprice=GetReal("請輸入實數:");
printf("字元串為:%s\n",bookname);
printf("實數為:%.2f\n",bookprice);
}
STRING GetString(STRING prompt)
{
STRING name;
printf("%s",prompt);
name=GetStringFromKeyboard();
return name;
}
double GetReal(STRING prompt)
{
double price;
printf("%s",prompt);
price=GetRealFromKeyboard();
return price;
}
//-------------------------------------第二題
#include <stdio.h>
#include "e:\myc\zylib\zylib.h"
BOOL IsPrime(int n);
int main()
{
int n;
printf("請輸入一個整數:");
scanf("%d",&n);
if(n>2)
if(IsPrime(n))printf("%d是素數\n",n);
else printf("%d不是素數\n",n);
else printf("數據非法\n");
return 0;
}
BOOL IsPrime(int n)
{
int i;
for(i=2;i<n;i++)
if(n%i= =0) return FALSE;
return TRUE;
}
//--------------------------------第三題
#include <stdio.h>
#define TRUE 1
int gcd(int x,int y);
int main()
{
int m,n,max;
printf("請輸入兩個正整數:");
scanf("%d %d",&m,&n);
max=gcd(m,n);
printf("最大公約數為:%d\n",max);
return 0;
}
int gcd(int x,int y)
{
int r;
while(TRUE)
{
r=x%y;
if(r==0)break;
x=y;
y=r;
}
return y;
}
//--------------------------------第四題
#include <stdio.h>
#include "e:\myc\zylib\zylib.h"
typedef enum{sun,mon,tue,thi,wen,fri,sat}WEEKDAY;//定義枚舉類型
int GetInteger(STRING prompt);//輸入一下整數
int Count(int year,int month);//計算某年某月之前到2007年1月1日的天數
BOOL IsLeapYear(int n);//判斷某年是否是閏年
int month_day(int year,int month);//計算某個月的天數
void print(int year,int month,int total);//列印某年某月的日歷
void print1(WEEKDAY weekday);//列印某月的第1天
int main()
{
int year,month,total;
year=GetInteger("please input year:");
if(year<2007)
PrintErrorMessage(FALSE,"年份小於2007,錯誤\n");
month=GetInteger("please input month:");
total=Count(year,month);
print(year,month,total);
}
int GetInteger(STRING prompt)
{
int t;
printf("%s",prompt);
t=GetIntegerFromKeyboard();
return t;
}
int Count(int year,int month)
{
int s,i;
s=0;
for(i=2007;i<year;i++)
if(IsLeapYear(i))s+=366;
else s+=365;
for(i=1;i<month;i++)
s+=month_day(year,i);
return s;
}
BOOL IsLeapYear(int n)
{
return n%4==0&&n%100!=0||n%400==0;
}
int month_day(int year,int month)
{
int day;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 9:
case 10:
case 12:day=31;break;
case 2:day=28+IsLeapYear(year);break;
default:day=30;
}
return day;
}
void print(int year,int month,int total)
{
WEEKDAY weekday;
const WEEKDAY first=mon;
int i,day;
printf("%d-%d canlendar\n",year,month);
printf("-----------------------------------\n");
printf(" sun mon tue thi wen fri sat\n");
printf("-----------------------------------\n");
day=month_day(year,month);
for(i=1;i<=day;i++)
{
weekday=(WEEKDAY)((total+i+first-1)%7);
if(i==1)print1(weekday);
else if(weekday==sat)
printf("%4d\n",i);
else printf("%4d",i);
}
printf("\n------------------------------------\n");
}
void print1(WEEKDAY weekday)
{
if(weekday==0)printf("%4d",1);
else if(weekday==1)printf("%8d",1);
else if(weekday==2)printf("%12d",1);
else if(weekday==3)printf("%16d",1);
else if(weekday==4)printf("%20d",1);
else if(weekday==5)printf("%24d",1);
else if(weekday==6)printf("%28d\n",1);
}
//---------------------------------------
上面的一些文件路徑你自己改了,唉,其實我自己給你寫的那些演算法更好,。
9. C#編程基礎題
Soeasy,Liketorchtellyourway.IfyouwanttoLearnC#,youhadbetterdoityourself.
10. 編程基礎題:分類求和
#include<stdio.h>
#include<malloc.h>
int main (void)
{
int n,i,j=0,k=0,sum1=0,sum2=0;
int *p;
scanf("%d",&n);
p=(int*)malloc(sizeof(int)*n);
for( i=0;i<n;i++)
scanf("%d",&p[i]);
for(i=0;i<n;i++)
{
if(p[i]>0)
{
sum1+=p[i];
j++;
}
if(p[i]<0)
{
sum2+=p[i];
k++;
}
}
printf("%3d%3d%3d%3d",j,k,sum1,sum2);
return 0;
}
手機編寫的代碼,沒有編譯,自己編譯一下吧,應該能通過,稍微修改了一下,第一步輸入數組元素個數n,然後就可以了。