c語言作業3
『壹』 c語言作業3
(1):6
#include<stdio.h>
void main()
{
int i, sum=0;
for ( i=1; ; i++ )
{
if(i==4) continue;
if (i==5) break;
sum+=i;
}
printf (" %d ", sum);
getchar();
}
(2):8
(3):2
(4):25
(5):6
建議:對具體的程序,還是親自上機調試印象要深刻一些,對學編程也有好處!!
『貳』 C語言作業題目3 ( 提醒: 本次作業在總評中所佔比例較高, 請認真對待. )
少年自己運行一下,下面代碼建議你不要復制,好好看,最好默敲出來,現在就偷懶以後工作就費勁,積累的東西少,一點小問題就得上網查嚴重影響工作效率,工資就比你同學少一倍。
#include <stdio.h>
// 輸入
void input(int a[], int len)
{
int i = 0;
while (i < len)
{
scanf("%d", &a[i++]);
}
}
// 輸出
void output(int a[], int len)
{
printf("[ ");
int i = 0;
while (i < len) printf("%3d ", a[i++]);
printf("]\n");
}
// 排序
void reorder(int a[], int len)
{
int i, j, index, max;
for (i = len - 1; i >= 0; i--)
{
index = 0;
max = 0;
for (j = 0; j <= i; j++)
{
if (a[j] > max)
{
max = a[j];
index = j;
}
}
a[index] = a[i];
a[i] = max;
}
}
// 查找
int search(int a[], int begin, int end, int target)
{
int left = begin;
int right = end;
int mid = (left + right) / 2;
if (left >= right)
return -1;
if (a[mid] == target)
return mid;
else if (a[mid] < target)
return search(a, mid, right, target);
else
return search(a, left, mid, target);
}
// 插入
void insert(int a[], int len, int target)
{
int i = 0;
int index = -1;
if (target <= a[0]) index = 0;
else if (target >= a[len - 1]) index = len;
else
{
for (i = 0; i < len; i++)
{
if (a[i] < target && a[i + 1] >= target)
{
index = i + 1;
break;
}
}
}
for (i = len; i > index; i--)
{
a[i] = a[i - 1];
}
a[index] = target;
}
// 刪除
void delete(int a[], int len, int target)
{
int index = search(a, 0, len, target);
if (index != -1)
{
int i = 0;
for (i = index; i < len; i++)
{
a[i] = a[i + 1];
}
}
}
int main()
{
int a[30] = {0};
int count = 20;
int index = -1;
int x = -1;
printf("Please input %d integers:", count);
input(a, count);
printf("The numbers you input are:\n");
output(a, count);
printf("Please input the x you want to insert: x = ");
scanf("%d", &x);
printf("Firstly, we reorder these numbers...\n");
reorder(a, 10);
printf("Now we get an array like this:\n");
output(a, 10);
printf("Search %d in the array...\n", x);
index = search(a, 0, count, x);
if (index == -1)
{
printf("We CAN NOT find %d in the array, so we insert it.\n", x);
insert(a, count, x);
count++;
}
else
{
printf("Wow, we found it, so we delete it...\n");
delete(a, count, x);
count--;
}
printf("Now let us check up the content in the array:\n");
output(a, count);
printf("\nThanks for your using!\n");
return 0;
}
『叄』 C語言作業3.
#include "stdio.h"
main()
{
int a[10],i,j,q;
printf("input ten num:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{ q=a[i];
a[i]=a[j];
a[j]=q;
}
for(i=0;i<10;i++)
printf("%d",a[i]);
}
『肆』 3. C語言作業
根據你的題目,我的編程如下:
#include<stdio.h>
main()
{
int i,j;
double sum=0.0,s1=0.0,s2=0.0;
for(i=1;i<=101;i+=4)//這次循環求1+5+9+……+101的和
s1+=i;
for(j=-3;j>=-99;j-=4)/這里循環求-3-7-11-……-99和
s2+=j;
sum=s1+s2;
printf("the result is:\n%lf",sum);
}
思路就是將原式分成兩個好求其和的部分,分別求出後再相加。
此程序運行接果為51.000000,不知道對不對啊。
不對你再適當的改一改,反正基本思路是對的。
『伍』 一些c語言的作業問題(3)
樓主你好!下面是你需要的答案,希望能幫到你
1.#include <stdio.h>
int main(void)
{
int a = -1, b = -1;
if((a = 3) || (b = 2)){//這里是把3賦值得a,並且(a=3)是真,b也是如此。除非你這樣寫:
if(a==3)||(b==2),輸出的就是-1和-1.
}
printf("%d %d\n", a, b);
return 0;
}
2.
#include<stdio.h>
#include<stdlib.h>
void main()
{
char ch;
while((ch=getchar())!='\n')
{
if('A'<=ch&&ch<='Z')
ch=ch+32;
printf("%c\n",ch);
}
}
3.
#include <stdio.h>
int main(void)
{
int i;
printf("請輸入一個數字:\n");
scanf("%d",&i);
if(i=1)這里是賦值號,應該改為==號
printf("1\n");
else if(i=2)這里是賦值號,應該改為==號
printf("2\n");
else if(i=3)這里是賦值號,應該改為==號
printf("3\n");
else
printf("輸入錯誤!\n");
return 0;
}
『陸』 C語言作業: 從鍵盤輸入3個整數,按照從小到大的順序輸出
#include<stdio.h>
void main()
{
int a,b,c,t;
printf("請輸入三個整數:a b c ");
scanf("%d%d%d",&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 ",a,b,c);
}
(6)c語言作業3擴展閱讀:
scanf函數原型
int(const char*restrict format,...);
函數scanf()是從標准輸入流stdin(標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
函數的第一個參數是格式字元串,它指定了輸入的格式,並按照格式說明符解析輸入對應位置的信息並存儲於可變參數列表中對應的指針所指位置。每一個指針要求非空,並且與字元串中的格式符一一順次對應。
返回值
scanf函數返回成功讀入的數據項數,讀入數據時遇到了「文件結束」則返回EOF。
如:
scanf("%d%d",&a,&b);
函數返回值為int型。如果a和b都被成功讀入,那麼scanf的返回值就是2;
如果只有a被成功讀入,返回值為1;
如果a和b都未被成功讀入,返回值為0;
如果遇到錯誤或遇到end of file,返回值為EOF。end of file為Ctrl+z或者Ctrl+d。
例:使用scanf函數輸入數據。
#include<stdio.h>
int main(void)
{
int a,b,c;
printf("Give me the value of a,b,c seperated with whitespaces: ");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d ",a,b,c);
return 0;
}
&a,&b,&c中的&是定址操作符,&a表示對象a在內存中的地址,是一個右值。變數a,b,c的地址是在編譯階段分配的(存儲順序由編譯器決定)。
注意:如果scanf中%d是連著寫的如「%d%d%d」,在輸入數據時,數據之間不可以用逗號分隔,只能用空白字元(空格或tab鍵或者回車鍵)分隔——
「2(空格)3(tab)4」或「2(tab)3(回車)4」等。若是「%d,%d,%d」,則在輸入數據時需要加「,」,如「2,3,4」。
『柒』 C語言綜合作業題3題求助高手——答對加分
1.兩處分別改為:
if(arr[i]%2==1)
s=average(a,12);
------------------------------------------------------
2.添加代碼:
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
a[i][j]=0;
if(i==0)
{
a[i][i]=1;
continue;
}
for(j=0;j<i;j++)
{
if(j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
-----------------------------------------------
3.
(1) j>k
(2) count
『捌』 C語言作業題3
#include <stdio.h>
#include<string.h>
int coin[7]={100,
50,
20,
10,
5,
2,
1};
int main ( )
{
int n,a,m,i;
int ans[7];
while(scanf("%d",&n)!=EOF)
{
memset(ans ,0,sizeof(ans));
while(n--)
{
scanf("%d",&a);
for(i=0;i<7;i++)
{
ans[i]+=a/coin[i];
a%=coin[i];
}
}
for(i=0;i<7;i++)
{
printf("%d:%d\n",coin[i],ans[i]);
}
}
return 0;
}