c語言計數器
❶ 用c語言寫兩個計數器的小程序。
很多人回家過年了,所以回答少,程序已通過
#include<stdio.h>
/*第一個程序:*/
main()
{
int i=1, m=0;
printf("請輸入一個數:\n");
while(i!=0){ //while 循環開始當i等於0時,程序中止;
scanf("%d",&i); //從鍵盤獲取數值,如果i=0,則退出並輸出m的值
//printf("\n");
if (i==1) m++; //如果i=1,則m+1;
}
printf("輸入 '1' 的次數:%d\n",m);
}
//第二個程序 在第一個基礎上稍修改即可
main()
{
int i=1, n,m=0;
printf("請輸入N:\n");
scanf("%d",&n);
printf("請輸入一個數:\n");
while(i!=0){
scanf("%d",&i); //從鍵盤獲取數值,如果i=0,則退出並輸出m的值
if (i>n) m++; //如果i>n,則m+1;
}
printf("大於N次數:%d\n",m);
}
❷ 介紹計數器 /定時器 程序 的編寫步驟 (C語言的)
假設你用的晶振為12m,用p1.0口輸出周期為2ms的方波。使用定時器工作方式1.
至於計數初值的計算,授之以魚不如授之以漁!
在定時器模式下,計數器的計數脈沖來自於晶振脈沖的12分頻信號,即對機器周期進行計數。若選擇12m晶振,則定時器的計數頻率為1mhz。假設定時時間為t,機器周期為t1,即12/晶振頻率。x為定時器初值。則
x=2^n-t/t1。方式0,n=13,方式1時,n=16,方式2和方式3,n=8
自己算去吧!
#include
void
inittimer0(void)//
{
tmod
=
0x01;
th0
=
0x0fc;
//計數器初值
tl0
=
0x18;
ea
=
1;
et0
=
1;
tr0
=
1;//開啟定時器t0
}
void
main(void)
{
inittimer0();
}
void
timer0interrupt(void)
interrupt
1
{
th0
=
0x0fc;//重新賦初值
tl0
=
0x18;
p1.0=~p1.0;
//輸出方波
}
❸ C語言設計一個加減計數器,通過兩個按鍵來控制。就是按一個鍵就加一,按另外一個就減一。求大神幫忙設計
如果是windows上程序。單詞按鍵判斷ASCII碼,然後變數值++,--就可以了。
#include<stdio.h>
#include<conio.h>
#include<windows.h>
#defineKEYA61//按鍵盤'+'鍵(非小鍵盤)
#defineKEYM45//按鍵盤'-'鍵(非小鍵盤)
intmain()
{
intkey,num=0;
while(1)
{
system("cls");
printf("當前值:%d ",num);
key=getch();
switch(key)
{
caseKEYA:num++;break;
caseKEYM:num--;break;
}
}
return0;
}
如果你是要其他平台,比如單片機上運行,只要對應按鈕電平對應防抖代碼中對變數++,--就可以了。我之前給別人寫個一個單片機的簡單程序,裡面就有按鈕+-的,你可以參考。
以前回答記錄
❹ c語言怎麼統計esc輸入次數
寫一個程序,輸入數量不確定的[0,9]范圍內的整數,統計每一個數字出現的次數,輸入-1表示程序結束
使用數組和循環解決此題。定義一個大小為10的數組,數組count[i]代表每個數i。當輸入數字後,對應的i++,以此記錄次數。不需要記錄每一個數字後統計每個數的次數。
#include <stdio.h>
int main()
{
const int number = 10; //數組的大小
int x;
int count[10]; //定義數組
for (int i = 0; i < number; i++) { //初始化數組
count[i] = 0;
}
scanf_s("%d", &x); //輸入x
while(x!=-1){ //當輸入不為-1時,繼續輸入數值
if (x >= 0 && x <= 9) {
count[x]++; //數組參與運算
}
scanf_s("%d", &x); //輸入x
}
for (int i = 0; i < number; i++) { //遍歷數組
printf("%d出現次數:%d 次\n", i, count[i]);
}
}
程序運行結果
❺ 在C語言中,用作計數器的變數通常是用在什麼情況下
d
用於循環中次數計數
❻ 51C語言的計數器怎麼設置的,最好有解釋,
void dis_cnter(void) 顯示計數器值子程序開始
{uchar i; 定義字元型局部變數i
P3_7=1;P3_6=1; 消隱有效,允許顯示
for(i=0;i8;i++) 循環8次
根據8個單元的計數值查表發送顯示
P3_7=0; 關閉消隱,正常顯示
} 顯示計數器值子程序結束
void cnter(void) 計數轉換子程序開始
{uchar i; 定義字元型局部變數i
for(i=0;i7;i++) 循環8次
}若計數器某位值大於9,則該位回0,
而高位被進位加1
------------------------------------
if(cnt[7]9) 若計數器最高位值大於9,則計數器全清0
} 計數轉換子程序結束
void pt_cnt(void) 輸出控制子程序開始
{
if((cnt[0]==pre_cnt[0])&&(cnt[1]==pre_cnt[1])&&
(cnt[2]==pre_cnt[2])&&(cnt[3]==pre_cnt[3])&&
(cnt[4]==pre_cnt[4])&&(cnt[5]==pre_cnt[5])&&
(cnt[6]==pre_cnt[6])&&(cnt[7]==pre_cnt[7])) 若計數值等於預置值
out_flag=1; 輸出標志置1
else out_flag=0; 否則輸出標志置0
=================================================
if(out_flag)drv=0; 若輸出標志為1,輸出端(P3.4)置0,驅動光耦U2
else drv=1; 否則輸出端(P3.4)置1
} 輸出控制子程序結束
void main(void) 主程序開始
{ IE=0x84; 開放CPU中斷,開放外中斷1的中斷
IT1=1; 置外中斷1為邊沿觸發
while(1) 無限循環
{P3_6=0;P3_7=1; 禁止發送給顯示器,消隱有效
SBUF=0x00;while(!TI);TI=0; 向IC2發送0x00,使IC2輸出為全0
if((P3&0x24)!=0x24)keydown_flag=1; 檢測P3.2、P3.5是否為高電平。
若不為高電平,說明有鍵按下,鍵被按下標志置1
else keydown_flag=0; 否則,鍵被按下標志置0
-------------------------------------------------------------------------------
SBUF=0xfe;while(!TI);TI=0; 向IC2發送0xfe
if(!P3_2)set_flag=!set_flag; 若P3.2為0,說明S9鍵按下,標志set_flag取反
==================================================
if(!set_flag)
若標志set_flag為0,調用計數、顯示計數、輸出控制的子程序
else
否則標志set_flag為1,調用掃描S1~S8鍵、顯示預置值的子程序
=====================================================
if(keydown_flag)delay(300); 因有鍵按下,調用延時300mS子程序,
以免調整鍵值的速度過快
}
} 主程序結束
void extern_int1(void) interrupt 2 using 1 外中斷1服務子程序
{
cnt[0]++; 計數器的最低位加1
}
❼ 介紹計數器 /定時器 程序 的編寫步驟 (C語言的)
注意:
多數C語言編譯器不支持多線程,而且ANSI C也沒有線程庫,因此C語言無法實現實際意義上的定時器(即包含觸發機制的定時器)。
回到本問題:
1 計數器:
簡單的int變數(一般為全局或相對全局)就可以實現。
2 計時器:
包含time.h,使用clock相關函數,通過運行時間差來實現計時功能。示例:
/*@*/ clock_t startstart = clock();
……
/*@*/ clock_t endend = clock();
float start2end = (float)(endend-startstart)/CLOCKS_PER_SEC;
// 這里的start2end就是時間差
3 定時器
使用系統API,比如Windows下的Sleep()函數(注意,是大寫),原型如下:
VOID Sleep(
DWORD dwMilliseconds // sleep time in milliseconds
);
❽ 51單片機按鍵計數器C語言編程
#include<reg51.h>
#defineucharunsignedchar;
uchardistab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};//0到f
ucharnumber,dat,dis[4];
voidt0isr()interrupt1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
number++;
number%=3;
switch(number)
P1=0x20<<number;
P0=distab[dis[number]];
}
voidint0isr()interrupt0
{
dat++;
dat%=1000;
dis[0]=dat%10;
dis[1]=dat%100/10;
dis[2]=dat/100;
}
main()
{
TMOD=0x01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR1=1;
ET1=1;
EX0=1;
IT0=1;
EA=1;
while(1);
}
❾ c語言計數器
#include <stdlib.h>
#include <math.h>
#include <graphics.h>
#include <stdio.h>
#include <process.h>
#define EXCAPE 27
#define ENTER 13
main(){
int press,i,x,y,x1,y1,ch_z=0;
int dian=0;
char ch='0'; /*input + - * / */
char emp[80],sum[80],*e,*s;
double yuan=0.000000000000;
void init(void);
void clear_z(char *u);
double strtoflt(char *p);
int getkey();
int gd=DETECT, gm;
initgraph(&gd, &gm, "");
e=emp;
s=sum;
init();
x = (getmaxx() / 2) - 120;
y = (getmaxy() / 2) - 150;
x1 = (getmaxx() / 2) + 120;
y1 = (getmaxy() / 2) + 150;
while(1){
press = getkey();
switch(press){
case EXCAPE:
exit(0);
case 47:
bar (x + 10, y + 80 + 10, x + 60 - 10, y + 80 + 60 - 10);
delay(8000);
init();
if (ch!='0'){
switch(ch){
case '/':
if (strtoflt(emp)==0.0){
ch='0';
ch_z=0;
dian=0;
emp[0]='\0';
sum[0]='\0';
e=emp;
s=sum;
outtextxy(x+30,y+40,"error!!!!!");
break;
}
yuan = strtoflt(sum) / strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
break;
case '*':
yuan = strtoflt(sum) * strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
break;
case '+':
yuan = strtoflt(sum) + strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
break;
case '-':
if (strtoflt(sum)>=strtoflt(emp)){
yuan = strtoflt(sum) - strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
}
else{
yuan=strtoflt(emp)-strtoflt(sum);
sprintf(sum,"-%0.10f",yuan);
}
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
}
}
else{
if (ch_z==0){
outtextxy(x+30,y+40,emp);
stpcpy(sum,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
}
ch='/';
ch_z=0;
emp[0]='\0';
e=emp;
dian=0;
break;
case 42:
bar (x + 60 + 10, y + 80 + 10, x + 60 * 2 - 10, y + 80 + 60 - 10);
delay(8000);
init();
if (ch!='0'){
switch(ch){
case '/':
yuan = strtoflt(sum) / strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '*':
yuan = strtoflt(sum) * strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '+':
yuan = strtoflt(sum) + strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '-':
if (strtoflt(sum)>=strtoflt(emp)){
yuan = strtoflt(sum) - strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
}
else{
yuan=strtoflt(emp)-strtoflt(sum);
sprintf(sum,"-%0.10f",yuan);
}
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
}
}
else{
if (ch_z==0){
outtextxy(x+30,y+40,emp);
stpcpy(sum,emp);
e=emp;
}
else
outtextxy(x+30,y+40,sum);
}
ch='*';
ch_z=0;
dian=0;
break;
case 45:
bar (x + 60 * 2 + 10, y + 80 + 10, x + 60 * 3 - 10, y + 80 + 60 - 10);
delay(8000);
init();
if (ch!='0'){
switch(ch){
case '/':
yuan = strtoflt(sum) / strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '*':
yuan = strtoflt(sum) * strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '+':
yuan = strtoflt(sum) + strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '-':
if (strtoflt(sum)>=strtoflt(emp)){
yuan = strtoflt(sum) - strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
}
else{
yuan=strtoflt(emp)-strtoflt(sum);
sprintf(sum,"-%0.10f",yuan);
}
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
}
}
else{
if (ch_z==0){
outtextxy(x+30,y+40,emp);
stpcpy(sum,emp);
e=emp;
}
else
outtextxy(x+30,y+40,sum);
}
ch='-';
ch_z=0;
dian=0;
break;
case 43:
bar (x + 60 * 3 + 10, y + 80 + 10, x + 60 * 4 - 10, y + 80 + 60 - 10);
delay(8000);
init();
if (ch!='0'){
switch(ch){
case '/':
yuan = strtoflt(sum) / strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '*':
yuan = strtoflt(sum) * strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '+':
yuan = strtoflt(sum) + strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '-':
if (strtoflt(sum)>=strtoflt(emp)){
yuan = strtoflt(sum) - strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
}
else{
yuan=strtoflt(emp)-strtoflt(sum);
sprintf(sum,"-%0.10f",yuan);
}
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
}
}
else{
if (ch_z==0){
outtextxy(x+30,y+40,emp);
stpcpy(sum,emp);
e=emp;
}
else
outtextxy(x+30,y+40,sum);
}
ch='+';
ch_z=0;
dian=0;
break;
case 49:
bar (x + 10, y + 80 + 53 + 10, x + 60 - 10, y + 80 + 53 * 2 - 4);
delay(8000);
init();
for (i=0;i<=79;i++){
if (emp[i]=='\0')
break;
}
if (ch_z==0){
*e='1';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
break;
case 50:
bar (x + 60 + 10, y + 80 + 53 + 10, x + 60 * 2 - 10, y + 80 + 53 * 2 - 4);
delay(8000);
init();
for (i=0;i<=79;i++){
if (emp[i]=='\0')
break;
}
if (ch_z==0){
*e='2';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
break;
case 51:
bar (x + 60 * 2 + 10, y + 80 + 53 + 10, x + 60 * 3 - 10, y + 80 + 53 * 2 - 4);
delay(8000);
init();
for (i=0;i<=79;i++){
if (emp[i]=='\0')
break;
}
if (ch_z==0){
*e='3';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
break;
case ENTER:
bar (x + 60 * 3 + 10, y + 80 + 53 + 10, x + 60 * 4 - 10, y + 80 + 53 * 2 - 4);
delay(8000);
init();
if (ch!='0'){
switch(ch){
case '/':
yuan = strtoflt(sum) / strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '*':
yuan = strtoflt(sum) * strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '+':
yuan = strtoflt(sum) + strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
case '-':
if (strtoflt(sum)>=strtoflt(emp)){
yuan = strtoflt(sum) - strtoflt(emp);
sprintf(sum,"%0.10f",yuan);
}
else{
yuan=strtoflt(emp)-strtoflt(sum);
sprintf(sum,"-%0.10f",yuan);
}
clear_z(sum);
outtextxy(x+30,y+40,sum);
emp[0]='\0';
e=emp;
break;
}
}
else{
if (ch_z==0){
outtextxy(x+30,y+40,emp);
stpcpy(sum,emp);
e=emp;
}
else{
outtextxy(x+30,y+40,sum);
}
}
ch='0';
ch_z=1;
dian=0;
break;
case 52:
bar (x + 10, y + 80 + 53 * 2 + 10, x + 60 - 10, y + 80 + 53 * 3 - 4);
delay(8000);
init();
if (ch_z==0){
*e='4';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
break;
case 53:
bar (x + 60 + 10, y + 80 + 53 * 2 + 10, x + 60 * 2 - 10, y + 80 + 53 * 3 - 4);
delay(8000);
init();
if (ch_z==0){
*e='5';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
break;
case 54:
bar (x + 60 * 2 +10, y + 80 + 53 * 2 + 10, x + 60 * 3 - 10, y + 80 + 53 * 3 - 4);
delay(8000);
init();
if (ch_z==0){
*e='6';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
break;
case 46:
bar (x + 60 * 3 + 10, y + 80 + 53 * 2 + 10, x + 60 * 4 - 10, y + 80 + 53 * 3 - 4);
delay(8000);
init();
if (dian==0){
if (ch_z==0){
*e='.';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
}
else{
if (ch_z==0)
outtextxy(x+30,y+40,emp);
else
outtextxy(x+30,y+40,sum);
}
dian=1;
break;
case 55:
bar (x + 10, y + 80 + 53 * 3 + 10, x + 60 - 10, y + 80 + 53 * 4 - 4);
delay(8000);
init();
if (ch_z==0){
*e='7';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
break;
case 56:
bar (x + 60 + 10, y + 80 + 53 * 3 + 10, x + 60 * 2 -10, y + 80 + 53 * 4 - 4);
delay(8000);
init();
if (ch_z==0){
*e='8';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
break;
case 57:
bar (x + 60 * 2 + 10, y + 80 + 53 * 3 + 10, x + 60 * 3 - 10, y + 80 + 53 * 4 - 4);
delay(8000);
init();
if (ch_z==0){
*e='9';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
break;
case 48:
bar (x + 60 * 3 + 10, y + 80 + 53 * 3 + 10, x + 60 * 4 - 10, y + 80 + 53 * 4 - 4);
delay(8000);
init();
if (ch_z==0){
*e='0';e++;*e='\0';
outtextxy(x+30,y+40,emp);
}
else{
outtextxy(x+30,y+40,sum);
}
break;
case 32:
emp[0]='\0';
sum[0]='\0';
e=emp;
s=sum;
ch='0';
ch_z=0;
dian=0;
init();
break;
case 8:
delay(8000);
for(i=0;i<=79;i++){
if (emp[i]=='\0')
break;
}
if (i==0)
break;
if (i!=79&&i!=0){
i--;
emp[i]='\0';
e=&emp[i];
}
init();
outtextxy(x+30,y+40,emp);
break;
}
}
}
/*---------------------------------------------------------------------*/
void init(void){
int x, y, x1, y1, i, j;
char emp;
x = (getmaxx() / 2) - 120;
y = (getmaxy() / 2) - 150;
x1 = (getmaxx() / 2) + 120;
y1 = (getmaxy() / 2) + 150;
cleardevice();
setbkcolor(3);
setfillstyle(1, 15);
setcolor(15);
settextstyle(1,0,1);
rectangle (x, y, x1, y1);
rectangle (x - 7, y - 7, x1 + 7, y1 + 7);
rectangle (x + 10, y + 10, x1 - 10, y + 80 - 10);
line (x, y + 80, x1, y + 80);
y = y + 80;
for (j = 1; j <= 4; j++){
x = (getmaxx() / 2) - 120;
for (i = 1; i <= 4; i++){
/* bar (x + 10, y + 10, x + 60 - 10, y + 60 - 10);*/
rectangle(x + 10, y + 10, x + 60 - 10, y + 60 - 10);
if (j == 1){
if (i == 1)
outtextxy(x + 20, y + 20, "/");
if (i == 2)
outtextxy(x + 25, y + 20, "*");
if (i == 3)
outtextxy(x + 27, y + 20, "-");
if (i == 4)
outtextxy(x + 25, y + 20, "+");
}
if (j == 2){
if (i == 1)
outtextxy(x + 25, y + 20, "1");
if (i == 2)
outtextxy(x + 25, y + 20, "2");
if (i == 3)
outtextxy(x + 25, y + 20, "3");
if (i == 4)
outtextxy(x + 25, y + 20, "=");
}
if (j == 3){
if (i == 1)
outtextxy(x + 25, y + 20, "4");
if (i == 2)
outtextxy(x + 25, y + 20, "5");
if (i == 3)
outtextxy(x + 25, y + 20, "6");
if (i == 4)
outtextxy(x + 25, y + 20, ".");
}
if (j == 4){
if (i == 1)
outtextxy(x + 25, y + 20, "7");
if (i == 2)
outtextxy(x + 25, y + 20, "8");
if (i == 3)
outtextxy(x + 25, y + 20, "9");
if (i == 4)
outtextxy(x + 25, y + 20, "0");
}
x = x + 60;
}
y = y + 53;
}
}
/*---------------------------------------------------------------------*/
int getkey(){
char lowbyte;
int press;
while(bioskey(1)==0);
press = bioskey(0);
press = press&0xff? press&0xff: press>>8;
return(press);
}
double strtoflt(char *p)
{
double rtl=0.000000000000;
double pnt=0.000000000000;
double t = 10;
int ispoint = 0;
while (*p!='\0'||*p!='.'){
if(*p<'0'||*p>'9')
break;
rtl*=10;
rtl+=*p-'0';
p++;
}
if (*p=='.'){
ispoint=1;
p++;
}
while(ispoint&&*p!='\0'){
pnt+=(double)(*p-'0')/t;
t*=10;
p++;
}
rtl+=pnt;
return (rtl);
}
/*-----------------------------------------------------------------------*/
void clear_z(char u[]){
int i;
for(i=strlen(u)-1;i>=0;i--){
if (u[i]!='0')
break;
}
if (u[i]=='.'){
u[i]='\0';
}
else{
i++;
u[i]='\0';
}
}
❿ 用c語言編寫 設計一個1~7的簡易計數器
//一個具有兩個數加減乘除功能的計算器
#include <stdio.h>
void main()
{
int a,b,c;
char ch,ch1;
printf("請輸入表達式如 5+6= 然後按回車鍵:");
scanf("%d%c%d%c",&a,&ch,&b,&ch1);
switch(ch)
{
case '+':
c=a+b;
printf("%d+%d=%d\n",a,b,c);
break;
case '-':
c=a-b;
printf("%d-%d=%d\n",a,b,c);
break;
case '*':
c=a*b;
printf("%d*%d=%d\n",a,b,c);
break;
case '/':
c=a/b;
printf("%d/%d=%d\n",a,b,c);
break;
default:
printf("輸入表達式錯誤或該計算器不具備 %ch 功能\n",ch);
}
}