本文目錄一覽:
- 1、c語言中隨機數 開始是兩個正整數 n 和 k,該兩數讓你判斷隨後的 n 個隨機整數中是否恰好有出現 k 次的數
- 2、c語言編程 從鍵盤上輸入兩個正整數 n,k 求大於n的k個質數 ,,,,謝謝!!
- 3、C語言:輸入兩個整數N和K,將整數N的第K位置1,並輸出變化後的N
- 4、用C語言編寫 輸入n個數和一個整數k,輸出n個數中第k個最大最小值。要求有輸入錯誤判斷及相應錯誤信息
c語言中隨機數 開始是兩個正整數 n 和 k,該兩數讓你判斷隨後的 n 個隨機整數中是否恰好有出現 k 次的數
//#include “stdafx.h”//vc++6.0加上這一行.
#include “stdio.h”
#include “time.h”
#include “stdlib.h”
int main(void){
int a[1001],i,j,n,k,x,T,sum;
printf(“Input T(1~1000)\nT=”);
scanf(“%d”,T);
printf(“Input n k(1n1001 kn)…\n”);
srand((unsigned)time(NULL));
while(T–){
scanf(“%d%d”,n,k);
for(i=0;in;a[i++]=rand());
for(x=n-k+1,i=0;ix;i++){
for(sum=0,j=i;jn;j++)
if(a[i]==a[j]) sum++;
if(sum==k){
printf(“Yes!\n”);
break;
}
}
if(sum!=k)
printf(“No!\n”);
}
return 0;
}
c語言編程 從鍵盤上輸入兩個正整數 n,k 求大於n的k個質數 ,,,,謝謝!!
樓主好…
我看了上面幾個寫給你的程序,有些邏輯較亂,而且思路不清。最主要是在電腦運行的結果不對,或則是根本無法通過編譯。所以給樓主寫了個,用VC寫的,在VC上運行完全正確,能夠達到樓主相應的效果。
由於是自己的思路,擔心樓主不理解,所以在後面都加了注釋,可以幫組樓主讀懂我的程序。
程序如下:
#include stdio.h
void main()
{
int n,k;
printf(“input the n:”); /*輸入n的值*/
scanf(“%d”,n);
printf(“input the k:”); /*輸入K的值*/
scanf(“%d”,k);
int i,count=0; /*用count來實現計質數的個數*/
do
{
flag: n=n+1;
if(n2) /*如果n2就都不是質數,繼續下一次循環*/
continue;
else if(n==2) /*n=2,就輸出2,因為2是質數*/
{
count++;
printf(“第%d個質數是%d:\n”,count,n);
continue;
}
else
{
for(i=2;in;i++) /*判斷是否從2到這個數本生有沒有約束*/
{
if(n%i==0)
goto flag; /*如果有約束,跳出次else語句,去執行開頭*/
}
count++; /*如果在for循環中沒有約束,則數出count加1,數出這個數*/
printf(“第%d個質數是%d:\n”,count,n);
}
}
while(count!=k); /*當質數的個數等於k時,跳出do循環,結束程序*/
}
樓主可以去VC上檢驗,如果沒有vc,tc應該也可以通過我的這個程序吧!
檢驗正確後,請回復哦!也是對我的鼓勵的…
嘿嘿
C語言:輸入兩個整數N和K,將整數N的第K位置1,並輸出變化後的N
#includestdio.h
int main(){
int a[10000];
int n,temp,i,k,j;
printf(“請輸入你要輸入的數的個數n:\n”);
scanf(“%d”,n);
for(i=0;in;i++){
printf(“a[%d]=”,i);
scanf(“%d”,a[i]);
}
for(i=0;in;i++){
for(j=i+1;jn;j++){
if(a[j]a[i]){
temp=a[j];
a[j]=a[i];
a[i]=temp;}
}
}
printf(“請輸入你要的到第幾小/大的數K:\n”);
scanf(“%d”,k);
printf(“第%d大的數為%d\n”,k,a[k-1]);
printf(“第%d小的數為%d\n”,k,a[n-k]);
return 0;
}
用C語言編寫 輸入n個數和一個整數k,輸出n個數中第k個最大最小值。要求有輸入錯誤判斷及相應錯誤信息
很久沒玩這個了,試一試
int main()
{
int n,k;
while(scanf(“%d%d”,n,k))
{
if(n0 || k0 || nk)
{
printf(“對不起,輸入有誤,請重新輸入”);
}else
{
int a[n];
for(int i=0;in;i++)
{
scanf(“%d”,a[i]);
}
int max = a[0];
int min = a[0];
for(int j=0;jk;j++)
{
if(maxa[j])
max = a[j];
if(mina[j])
min = a[j];
}
printf(“%d%d”,max,min);
}
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/233928.html