0% found this document useful (0 votes)
14 views

Retake CPE100 Computer Programming

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Retake CPE100 Computer Programming

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Retake CPE100 Computer Programming: Exam M1

1. Find total prime.


// ID: 66070503459 Anongnart Boonkleang
// 1) Write C program to find total number of prime numbers in a given range
(Inclusive).

#include<stdio.h>

int main() {
int num1,num2,i,j,count=0,isPrime;
scanf("%d %d", &num1,&num2); // scanf the range of the total number

//To find the total prime number from the range between num1 and num2
for(i=num1 ; i<=num2 ; i++){
isPrime=1;
for(j=2 ; j<=i-1 ; j++){
if(i%j == 0){
isPrime=0;
break;
}
}

//If it is the prime number, count and collect it, to find the total prime
number from the given range
if(i>1 && isPrime){
count++;
}
}

//printf the total number of prime number from the given range.
printf("%d", count);
return 0;

• num1 and num2 are the input integers that will be the range to find the total prime number
• for loop -> for(i=num ; i <= num2 ; i++) is used to set the range to find the prime number
• isPrime is the thing that use to check if it is prime number, it will collect the quantity in the count
variable.
• For loop -> for(j=2 ; j <= i-1 ; j++) is used to check i that it is divisible by 2 and i-1
• If i is not the prime number (isPrime = 0;) then the inner loop will stop working which is break.
• Then it will run like this until num2 and display the total number of the prime number.

66070503459: Anongnart Boonkleang


2. What day?
// ID: 66070503459 Anongnart Boonkleang
// 2) Write a C program to determine the day of the week for a given date in the year
2009.

#include <stdio.h>
#include <string.h>

char* getDay(int day, int month, int year) {


static char* days[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
"Friday", "Saturday"};
if (day < 1 || day > 31 || day==29 || month < 1 || month > 12)
return "ERROR";

int t[12] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};


year -= month < 3;
return days[(year + year / 4 - year / 100 + year / 400 + t[month - 1] + day) % 7];
}

int main() {
int d, m;
char day[20];
//printf("Enter day (dd): ");
scanf("%d %d", &d, &m);
strcpy(day, getDay(d, m, 2009));
printf("%s\n", day);
return 0;
}
For this question
• I have used “getDay” function to get the day of the week from input date and month in year 2009
• When you input the date, it will go check what day of this date or is it Error in “getDay” function
• Then strcpy will copy the result from “getDay” function
• Lastly, it will display the day of the date that we have input by using printf.

66070503459: Anongnart Boonkleang


3. 3 Decimal to Base-4 Conversion (Using for Loop)
// ID: 66070503459 Anongnart Boonkleang
// 3) Using the code below as a starting point, modify it to convert the decimal
number to a base-4 number using a For loop instead of a While loop.
#include <stdio.h>

int main()
{
int num, base = 0, rem = 0, place = 1;

//scanf the decimal number


scanf("%d", &num);

//Use to find the Base-4 number


for (num ; num>0 ; num/=4, place *= 10){
rem = num % 4;
base = base + (rem * place);
}

//printf the Base-4 number


printf("%d\n", base);
return 0;
}

• When we input the decimal number in this


• For loop will check that if that num is more than 0, the remainder of num will divide by 4 and
continue calculated in base = base + (rem * place)
• Then “num” will update that num/=4 and place *= 10
• Lastly, it will print the base-4 number.

66070503459: Anongnart Boonkleang

You might also like