A. 在c語言中,輸入操作是由庫函數___完成的,輸出操作是由庫函數___完成的。
輸入有兩個函數scanf()和getchar()
輸出有兩個函數printf()和putchar()
B. c語言中函數,主函數,被調用高數,庫函數的含意
主函數就是程序最先執行的函數,程序的入口,只有一個「main」函數,被調用函數就是別的一個函數調用另一個函數時被調用的那個函數,庫函數是C語言已經定義好的函數不用你自己寫,直接引入頭文件然後調用
#include <stdio.h>
void main()
{
printf("This is myprint!\n");
}
這里主函數就是main
被調用函數就是printf,也是庫函數頭文件stdio.h定義的
C. C語言、怎麼用strchr高數、我錯在哪了
#include<stdio.h>
#include<string.h>
intmain()
{
chara[10];
charb;
gets(a);
scanf("%c",&b);
//strchr返回的目標字元的地址,而不是你要的位置,所以要轉化一下
char*c=strchr(a,b);
printf("位置為%d ",strlen(a)-strlen(c)+1);
return0;
}
D. c語言結構體按指定內容輸出
你好,編譯運行過的,代碼如下,望採納!
#include<stdio.h>
#include<string.h>
struct student
{
int num;
char name[20];
char sex[80];
char jg[80];
char sr[80];
char kc[80];
double cj;
char dj[80];
};student stu[6]={{1,"張一","男","廣西北海","1993.1.1","高數",87},\
{2,"張二","男","廣西來賓","1992.1.5","高數",55.5},\
{3,"張三","女","廣西南寧","1990.11.12","高數",93},\
{4,"張四","男","廣西北海","1993.5.2","高數",85},\
{5,"張五","男","廣西崇左","1994.6.9","高數",76},\
{6,"張六","女","廣西北海","1991.8.4","高數",88}};
int main(void)
{
int i = 0;
for(i = 1;i<6;i++)
{
if(!strcmp(stu[i].sex,"男"))
{
printf("%d\t%s\t%s\t%s\t%s\t%s\t%.2lf\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].jg,stu[i].sr,stu[i].kc,stu[i].cj);
}
}
return 0;
}
E. c語言函數包括(主函數,自定義高數,系統函數 )還是(主函數,自定義高數,庫函數)
在C語言學習的過程中,會經常用到main這個主函數,其實他是庫函數,在系統中內置,所以C語言中說到 的就是指庫函數和自定義函數,希望我的解答能夠幫助你,也希望你能採納!謝謝
F. c語言 設計三個高數,分別求圓錐體的體積、表面積、質量。從主函數中輸入圓錐體的高和直徑,然後輸出它
double calcv(double h,double d)
{
return 3.14*d*d*h/4/3;
}
表面積和質量不會算
G. 求c語言高數編程 輸入一個正整數,將其轉換成字元串。
首先,你要弄清楚,數值和字元的ASCII碼的對應關系,字元'0'的ASCII碼為48,'1'的為49,依此下去,要將數字0~9轉換為字元'0'~'9'只需將原數字加上48得對應字元的ASCII碼,然後輸出該字元。#include <stdio.h>{ int a,b,i,j; /*如果你輸的數過大,可以將a、b定義為long 型*/ char s[],h[]; float t; printf("please input a number\n"); scanf("d%",&a); b=a/10; t=a%10; for(i=0;t>=0;i++) { s[i]=t+48; t=b%10; b=b/10; } for(j=0,i=i-1;i>=0;i--,j++) h[j]=s[i]; /*字元數組h[]裡面就是存放的待求字元串*/puts(h); }
H. 急急。。。。C語言中,輸入操作是庫函數scanf完成的,輸出操作是由庫函數什麼完成的
. 使用scanf函數的注意事項。
scanf函數的一般語法格式為 scanf(格式佔位符列表,變數地址列表),常用的格式佔位符有%d(整型數),%f(浮點型數)等。
示例:1) 輸入一個整型值給變數a : scanf(「%d」,&a); //注意a前有&取地址符,因為語法格式要求此處是變數地址。
2)輸出兩個整型值分別給變數a,b
可以使用兩條scanf函數語句來實現:
scanf(「%d」,&a); scanf(「%d」,&b);
這種寫法主要的缺點就是繁瑣,幾個變數就需要寫幾篇scanf,輸入數據時,兩次數據間用空格或回車分隔都可以。
也可以使用一條scanf函數語句實現:
scanf(「%d%d」,&a,&b); //注意兩個%d是放在一個雙引號內,中間不需要使用任何分隔符,在程序運行輸入數據時,用戶可以用空格或回車將兩個數分隔開。
特別提醒注意的是:如果寫成 scanf(「%d,%d」,&a,&b); 那麼用戶在輸入數據時,中間也必須用,將兩個輸入數據分隔開。
2. printf()函數
基本語法格式 printf(格式佔位符列表,變數列表);
在printf()函數中,格式佔位符決定了輸出的樣子,只是在佔位符列表中,用佔位符%d等先把位置佔住,然後將後面的變數值依次填入前面的佔位符處。
例如: 假設a的值為50,b的值為78
printf(「%d」,a); 此函數語句代表將變數a的值輸出,因為格式佔位符列表中只有一個%d,所以只輸入一個值屏幕上顯示的輸出結果為 50
printf(「%d,%d」,a,b) 此函數表示將a與b兩個變數的值輸出,中間還需要有一個逗號,這是由輸出格式決定的,格式佔位符列表為 %d,%d,就表示要輸出兩個變數,變數中間有逗號,執行時,將a的值填在第一個%d處,b的值填在第2個%d處。屏幕中顯示的輸出結果為 50,78
printf(「a=%d,b=%d」,a,b) 格式佔位符是 a=%d,b=%d 其中a=,b=這都會原樣輸出,後面a,b的值分別填入前兩個%所在位置。屏幕中顯示的輸出結果為 a=50,b=78
I. 菜鳥提問 C語言的兩個問題 求高數解答 用的VC++6.0編譯器
#include <stdio.h>
#define STU 30
#define COURSE 3
void Input(long num[],int score[][COURSE],int n);
void GetSumAver(int score[][COURSE],int n,int sum[],float aver[]);
void Sort(long num[],int score[][COURSE],int n,int sum[],float aver[]);
void Print(long num[],int score[][COURSE],int n,int sum[],float aver[]);
int Search(long num[], int n, long x);
void main()
{
int n, score[STU][COURSE], sum[STU], pos;
long num[STU], x;
float aver[STU];
printf("Please enter the total number of the students(n<=30):");
scanf("%d", &n); /*輸入參加考試的學生人數*/
printf("Enter No. and score as: MT EN PH\n");
Input(num, score, n); /*輸入學生成績*/
GetSumAver(score, n, sum, aver); /*計算總分和平均分*/
printf("Before sort:\n");
Print(num, score, n, sum, aver);
Sort(num, score, n, sum, aver); /*排名次*/
printf("After sort:\n");
Print(num, score, n, sum, aver);
printf("Please enter searching number:");
scanf("%ld", &x); /*以長整型格式輸入待查找學生的學號*/
pos = Search(num, n, x); /*名次查詢*/
if (pos != -1)
{
printf("position:\t NO \t MT \t EN \t PH \t SUM \t AVER\n");
printf("%8d\t%4ld\t%4d\t%4d\t%4d\t%5d\t%5.0f\n",
pos+1,num[pos], score[pos][0],score[pos][1],
score[pos][2], sum[pos],aver[pos]);
}
else
{
printf("Not found!\n");
}
}
/*函數功能:輸入某班學生期末考試三門課程成績
函數參數:長整型數組num,存放學生學號 整型數組score,存放學生成績
整型變數n,存放學生人數
函數返回值:無
*/
void Input(long num[], int score[][COURSE], int n)
{
int i, j;
for (i=0; i<n; i++)
{
scanf("%ld", &num[i]);
for (j=0; j<COURSE; j++)
{
scanf("%d", &score[i][j]);
}
}
}
/* 函數功能:計算每個學生的總分和平均分
函數參數: 整型數組score,存放學生成績
整型變數n,存放學生人數
整型數組sum,計算得到的每個學生的總分
實型數組aver,計算得到的每個學生的平均分
函數返回值:無
*/
void GetSumAver(int score[][COURSE], int n, int sum[], float aver[])
{
int i, j;
for (i=0; i<n; i++)
{
sum[i] = 0;
for (j=0; j<COURSE; j++)
{
sum[i] = sum[i] + score[i][j];
}
aver[i] = (float)sum[i] / COURSE;
}
}
/* 函數功能:按總分成績由高到低排出成績的名次
函數參數:長整型數組num,存放學生學號
整型數組score,存放學生成績
整型變數n,存放學生人數
整型數組sum,存放每個學生的總分
實型數組aver,存放每個學生的平均分
函數返回值:無
*/
void Sort(long num[],int score[][COURSE], int n, int sum[], float aver[])
{
int i, j, k, m;
int temp1;
long temp2;
float temp3;
for (i=0; i<n-1; i++)
{
k = i;
for (j=i+1; j<n; j++)
{
if (sum[j] > sum[k]) k = j;
}
if (k != i)
{
temp1 = sum[k]; sum[k] = sum[i]; sum[i] = temp1;
temp2 = num[k]; num[k] = num[i]; num[i] = temp2;
temp3 = aver[k]; aver[k] = aver[i]; aver[i] = temp3;
for (m=0; m<COURSE; m++)
{
temp1 = score[k][m];
score[k][m] = score[i][m];
score[i][m] = temp1;
}
}
}
}
/* 函數功能: 列印名次表,表格內包括學生編號、各科分數、總分和平均分
函數參數: 長整型數組num,存放學生學號
整型數組score,存放學生成績
整型變數n,存放學生人數
整型數組sum,存放每個學生的總分
實型數組aver,存放每個學生的平均分
函數返回值:無
*/
void Print(long num[], int score[][COURSE], int n,
int sum[], float aver[])
{
int i, j;
printf(" NO \t| MT \t EN \t PH \t SUM \t AVER\n");
printf("----------------------------------------------------\n");
for (i=0; i<n; i++)
{
printf("%ld\t| ", num[i]);
for (j=0; j<COURSE; j++)
{
printf("%4d\t", score[i][j]);
}
printf("%5d\t%5.0f\n", sum[i], aver[i]);
}
}
/* 函數功能:在學號數組中順序查找學生的學號
函數參數:長整型數組num,存放學生學號
整型變數n,存放學生人數
長整型變數x,存放待查找學生的學號
函數返回值:找到時,返回學生學號在學號數組中的下標位置,否則返回值-1
*/
int Search(long num[], int n, long x)
{
int i;
for (i=0; i<n; i++)
{
if (num[i] == x) return(i);
}
return (-1);
}
Sorry,It's hard to explain .
However,it depends on yourself to figure it out.
Good luck!