⑴ c語言,怎麼讓一行顯示十個數,只能用while循環,如圖
在循環裡面(printf語句後)加上:
if(i%30==0) printf('\n');
即可
目標程序是輸出1000以內3的倍數,若要每10個數換行,則當輸出30的倍數之後輸出一個換行符即可。
純手打,望採納,謝謝。
⑵ C語言(數據的輸出)例:每行輸出10個數據
輸出以後加個空格 不要加/n就行了
再用一個變數套循環判斷一下,每輸出10次跳轉一下單獨輸出一個換行符
⑶ C語言判斷一行所輸出的數據的個數
for(m=1;m<n;m++);
printf("%ld",fun(m));
if(m%5=0) printf("\n")
這個語句肯定是有問題的,首先for循環後面有;表示循環完了在再執行printf函數,其次,m= 1開始的,到m = 5的時候換行,也就是說如果前面對的情況下,一行也只輸出4個。
⑷ C語言改成每10個數換一行
統計一下輸出數字的個數。
分析,第一個輸出的是3 然後是 6 9 12 ...
這樣 第10個輸出的 就是 30
所以 只要 i%30 == 0 就代表輸出10個了。
於是
#include<stdio.h>
intmain()
{
inti;
for(i=1;i<=100;i++)
{
if(i%3==0)
printf("%d",i);
if(i%30==0)
printf(" ");
}
}
⑸ C語言 求100—200之間的全部素數,並且輸出每10個換一行
第一個問題的分析:如果滿足i<=k,則說明這個數不是素數,則不用輸出,不執行下面的printf的函數,只有滿足i>=k+1(其實是滿足1=k+1),才能判斷此數為素數,則輸出。所以程序是正確的。
第二個問題的分析:兩個程序的最終結果是一樣的,都是正確的。
程序自然結束後,會有i==k+1,此時是素數,列印數字;而如果是break出循環,則假設不成立,為合數,不列印字元,執行下一次循環。
(5)c語言一行顯示十個數據擴展閱讀:
如果 為合數,因為任何一個合數都可以分解為幾個素數的積;而N和N+1的最大公約數是1,所以不可能被p1,p2,……,pn整除,所以該合數分解得到的素因數肯定不在假設的素數集合中。因此無論該數是素數還是合數,都意味著在假設的有限個素數之外還存在著其他素數。所以原先的假設不成立。也就是說,素數有無窮多個。
⑹ C語言:隨機生成100個數存入數組,存入數組過程中保持數組非遞減有序。按每行10個數格式顯示數組中數據。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int t,i,j,k,arr[100];
srand(time(NULL));
for(i=0;i<100;i++)
{
t=rand();
for(j=0;j<i;j++)
{
if(t<arr[j])
{
for(k=i-1;k>=j;k--)
{
arr[k+1]=arr[k];
}
break;
}
}
arr[j]=t;
}
printf("按非遞減有序排列的數組各元素的值是:\n");
for(i=0;i<100;i++)
{
printf("%d ",arr[i]);
if(0==(i+1)%10)
{
printf("\n");
}
}
t=100;
for(i=0;i<t;)
{
if(0==arr[i]%3)
{
for(j=i+1;j<t;j++)
{
arr[j-1]=arr[j];
}
t--;
}
else
{
i++;
}
}
printf("刪除能被3整除的各元素後,數組各元素的值是:\n");
for(i=0;i<t;i++)
{
printf("%d ",arr[i]);
if(0==(i+1)%10)
{
printf("\n");
}
}
return 0;
}
⑺ 作C語言編程實現:對輸入100個整數進行隆序(從大到小)排序,按每行十個數輸出排序後的數據
#include <stdio.h>
#define arrSize 100
typedef enum {swap_right,swap_left}swap_dir;
void init_arr(int* arr,int size);
void quickSort(int* arr, int size);
void print_arr(int* arr,int size);
int main() {
int arr[arrSize];
printf("請輸入%d個整數(絕對值小於100000的整數,便於顯示):\n",arrSize);
init_arr(arr, arrSize);
printf("完成輸入!!!\n");
printf("開始排序\n");
quickSort(arr, arrSize);
printf("結束排序!!!\n");
printf("開始輸出\n");
print_arr(arr, arrSize);
printf("結束輸出!!!\n");
return 0;
}
void init_arr(int* arr, int size) {
for (int i = 0; i < size; i++) {
printf("請輸入第 %d 個整數:",i+1);
scanf("%d",arr+i);
}
}
void quickSort(int* arr, int size) {
if (arr == NULL || size <= 1)
return;
int key_index = 0;
int key_num = arr[key_index];
int front_index = 0;
int back_index = size - 1;
swap_dir dir = swap_right;
while (front_index < back_index) {
if (dir == swap_right) {
if (arr[back_index] < key_num) {
arr[key_index] = arr[back_index];
arr[back_index] = key_num;
key_index = back_index;
front_index++;
dir = swap_left;
}
else {
back_index--;
}
}
else if (dir == swap_left) {
if (arr[front_index] > key_num) {
arr[key_index] = arr[front_index];
arr[front_index] = key_num;
key_index = front_index;
back_index--;
dir = swap_right;
}
else {
front_index++;
}
}
}
if (key_index > 0)
quickSort(arr,key_index);
if (key_index < size -1)
quickSort((arr+key_index + 1),(size - 1 - key_index));
}
void print_arr(int* arr, int size) {
for (int i = 0; i < size; i++) {
printf("%5d ",*(arr + i));
if ((i + 1) % 10 == 0) {
printf("\n");
}
}
}
⑻ 用C語言寫程序輸出要求控制每行輸出五個數,怎麼控制
在C語言寫程序輸出時,要控制每行輸出數據的個數,可以通過自定義計數器來完成。
如:
// 輸出自然數1-30,每5個數為一行
main()
{ int i;
int cnt=0; // 定義cnt用作輸出數據的計數器,初始為0
for( i=1;i<=30;i++ ) // 循環30次
{ printf("%5d",i); // 輸出數據值
cnt++; // 每輸出一個值,計數器加一次
if( cnt%5==0 ) // 假設每行輸出5個(如果計數器與5取余為0,則換行)
printf("\n"); // 輸出換行
}
}
定義一個計數器,然後每次就自加,當%5==0的時候就printf("\n");看例子,希望能幫到你。
#include
void
main()
{
int
count=0;
int
i;
for(i=1;i<=20;i++)
{
printf("%d\t",i);
count++;
if(count%5==0)
printf("\n");
}
}
⑼ C語言利用隨機函數模擬 30 個某班學生成績,一位小數,一行 10 個數據,平均分,高於平均分值
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
voidmain()
{
intstud[30],i,j;
intrand();
floatav=0;//表示平均數
intm=0,n=0;//m表示高於平均分的人數,n表示不及格人數
srand((int)time(0));
for(i=0;i<30;i++)
stud[i]=rand()%60+40;
for(i=0;i<3;i++)
{
printf(" ");
for(j=0;j<10;j++)
{
printf("%4d",stud[i*10+j]);
av+=stud[i*10+j];
}
}
av/=30;
printf("%f ",av);
for(i=0;i<30;i++)
{
if(stud[i]>av)
m++;
if(stud[i]>=60)
n++;
}
printf("高於平均分人數:%d,不及格人數:%d ",m,n);
}
結果:
94 70 79 67 53 86 40 82 97 97
50 87 98 71 42 91 69 66 72 91
82 69 42 77 53 67 60 75 87 84 73.266667
高於平均分人數:15,不及格人數:24
⑽ c語言 將數據讀出並進行排序,然後將排好序的數據按照原始數據的格式寫入(一行10個 在線,402個數據
//sumos團隊
以下程序符合要求,在VC6.0中編譯通過
//任何其他問題,追問我哦 ^_^
#include<stdio.h>
#include<fstream.h>
#include<windows.h>
#define MaxSize 402
typedef struct{ //存取數據的結構體
int data[MaxSize];
}Data;
int data[MaxSize];
bool WriteNumbers( int);
bool ReadNumbers();
void Sort( int [], int ,int);
bool Init();
int main(){
WriteNumbers( 0); //產生待排序的隨機數文件
ReadNumbers(); //讀取文件內容
Sort( data, 0, MaxSize - 1); //排序
WriteNumbers( 1); //重新寫入文件
return 0;
}//main
void Sort( int _data[], int _beg, int _end){
int i = _beg, j = _end, tmp;
if( _beg < _end){
tmp = data[i];
while( i < j){
while( i < j && data[j] >= tmp){
j--;
}
data[i] = data[j];
while( i < j && data[i] <= tmp){
i++;
}
data[j] = data[i];
}
data[i] = tmp;
Sort( _data, _beg, i - 1);
Sort( _data, i + 1, _end);
}
}
//讀取數據
bool ReadNumbers(){
ifstream ifile;
Data num; int p = 0;
ifile.open( "d:\\a.dat", ios::in | ios::binary);
if( ifile){
ifile.read( ( char *)&num, sizeof( num));
for( int i = 0; i < MaxSize; i++){
data[i] = num.data[i];
}
ifile.close();
printf( "讀入數據完成\n");
return true;
}else{
printf( "讀入數據失敗:檢查數據文件d:\\a.dat是否存在。\n");
return false;
}
}//ReadNumbers
//產生測試數據
bool WriteNumbers( int cmd){
Data num;
ofstream ofile;
ofile.open( "d:\\a.dat", ios::out | ios::binary);
if( ofile){
for( int i = 0; i < MaxSize; i++){
if( cmd) num.data[i] = data[i];
else num.data[i] = rand();
}
ofile.write( ( char *)&num, sizeof( num));
ofile.close();
printf( "寫入數據完成\n");
return true;
}else{
printf( "寫入文件失敗: 檢查磁碟防寫狀態。\n");
return false;
}
}//WriteNumbers